DataTables强制浏览器缓存数据

时间:2017-05-15 04:33:50

标签: jquery datatables

方案:   - 文档加载上的函数执行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它有更新的数据。

可能会发生什么?

1 个答案:

答案 0 :(得分:0)

我终于修好了

if(data['active'] = 1) 

已更改为

if(data['active'] == 1) 

可能DataTables将数字转换为aJax返回

上的字符串