最近刚接触bootstraptable技术,感觉蛮好的,比较适合懒汉式开发。
需求中涉及到获取id,,来操作对应纪录。首先想到的是利用bootstraptable提供的获取id的形式。代码如下
{
field : 'id',
title : '操作',
formatter : function(value,
row, index) {
return '<div class="dropdown">'+
'<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><span class="glyphicon glyphicon-cog"></span>'+
'</a>'+
'<ul class="dropdown-menu">'+
'<li><a href="#">查看详情</a></li>'+
'<li><a href="JavaScript:btn_abolish(+'$(row.id)'+);">取消</a></li>' +
'</ul>'+
'</div>';
}
function btn_abolish(taskId){
function(){
$.ajax({
url : "/switch/technologicalProcess/abolishRunBytaskUuid",
data : {
"taskId" : taskId
},
type : "GET",
dataType : "html",
cache : false,
async : true,
success : function(result) {
console.log(result);
}});});}
然后后台使用@RequestParam接收,发现本该是20位的id,接收到之后变成了前16位数字加后四位的0. 我百思不得其解,希望知道的小伙伴可以告知一声!
不得已我使用了全局变量将row.id先取出来,再在function中使用,检测之后,可以获取到所有数据,20位数字都在 !
再次验证之后,发现使用全局变量会导致每次纪录覆盖的结果,这样会使功能失效,所以还是不能成功!
大量实验过后发现是我使用的<a> 标签的href:JavaScript:to(); 这个方式传递参数的时候会得到近似数(猜测跟参数长度有关),目前还得不到解决,无奈可能需要换条路走了 !
使用button绑定单击事件的方式传参也是跟<a> 效果相同,无奈只能选择url传参了