最近剛接觸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傳參了