我希望在Datatables mRender函数中调用一个ajax函数,该函数将使用来自当前ajax源的id从不同的ajax源获取数据。
为了正确看待这个问题,我有:
一个数据表中来自不同客户的请购单清单。
在这个列表中,我有一个客户端ID。我想让客户端名称显示在表格而不是客户端ID上。但是,客户端名称和其他客户端详细信息位于客户端表中,因此这些详细信息不在请购单json数据中。但我有客户端ID。
如何使用它在mrender函数中获取客户端名称? E.g
{"sTitle":"Client","mData":null,
"mRender":function(data){
//ajax function
}
},
提前谢谢你, 问候。
答案 0 :(得分:0)
我不相信这是你应该如何处理你的数据。但是我也在我的mRender函数中使用了一个AJAX数据源,如下所述。
$(document).ready(function(e){
$('.products').dataTable({
"bProcessing": true,
"sAjaxSource": window.location.protocol + "//" + window.location.hostname + '/product/getAll',
"aoColumns": [
{ "sTitle": "Pid", "bVisible" : false},
{ "sTitle": "Pname" },
{ "sTitle": "Pprice" },
{ "sTitle": "Pgroups",
"mRender" : function( data, type, full ){
console.log( data, type, full );
console.log(category.getAll());
return 'test';
}
}
]
});
});
De self对象在selfinvoking函数中初始化。我使用它来防止函数在每次调用函数时远程加载数据。 它看起来像这样:
(function(){
if(typeof category === 'undefined'){
category = {};
}
category.getAll = function(){
if(typeof category.all === 'undefined'){
$.ajax({
'type' : 'POST',
'async': false,
'url' : window.location.protocol + "//" + window.location.hostname + "/category/getAll",
'success' : function(data){
console.log(data);
category.all = data;
},
'error': function(a,b,c){
console.log("You shall not pass!",a,b,c);
alert('stop');
}
});
}
return category.all;
}
})();