方案: - 文档加载上的函数执行aJax调用并返回JSON>工作正常 - DataTables使用aJax返回数据绘制表>工作正常 - 浏览器单击事件执行另一个aJax调用返回相同的JSON格式,但具有新的/更新的值> DataTables继续使用在步骤1中收到的JSON - 当我在'网络'上查看返回数据时标签显示正确的最新数据>但是,console.log继续使用第一个aJax返回的数据集 - 我在aJax调用中使用" cache":false,DataTables初始化甚至是meta http-equiv =" cache-control"含量="无缓存" />在HTML
中function myFunc(inpData) {
$.ajax({
url: "http://xyz/yzx/zxy.php",
data: mydata,
type: 'POST'
dataType: 'json'
cache: false,
}).done(function(rdata) {
console.log(rdata);
$('#my-table').DataTable({
data: rdata.visitors,
columns: [
{data: 'fullName'},
{data: 'company'},
{data: 'visiting'},
{data: 'phone'},
{data: 'checkIn'},
{data: 'checkOut'}
],
rowCallback: function(row,data,index) {
if(data['active'] = 1) {
$('td:eq(5)', row).html("<button type='button' class='btn btn-default chk-out-btn'>Check Out Now</button>");
$(row).addClass("active-visitor").attr('unqid',data['id']);
} else {
$('td:eq(5)', row).html(data['checkOut']);
$(row).addClass('inactive-visitor').attr('unqid',data['id']);
}
}, // end rowCallback
order: [[4, 'asc']],
destroy: true,
saveState: false,
cache: false
});
});
} //end myFunc
现在再次调用myFunc(inpData)时,执行console.log(rdata)会继续显示旧数据。当我在&#39;网络中查找返回数据时tab它有更新的数据。
可能会发生什么?
答案 0 :(得分:0)
我终于修好了
if(data['active'] = 1)
已更改为
if(data['active'] == 1)
可能DataTables将数字转换为aJax返回
上的字符串