シナリオ: - ドキュメントロードの機能AJAX呼び出しを行い、OK 作業> JSONを返す - ブラウザのクリックイベントません - OK が働い>テーブルを描画するためにAjaxの戻りデータをDataTableのを使用しています別のAJAX呼び出しを返す同じJSON形式が、新しい/更新された値>のDataTableをJSONを使用し続け、ステップ1 で受け取った - 私は「ネットワーク」タブに戻りデータを表示するとき、それはしかし、にconsole.log>正しい最新のデータを示していますAjax呼び出し、DataTableの初期化中に偽とさえメタHTTP-当量=「キャッシュ制御」コンテンツ=「キャッシュなし」> HTMLで/:私が使用している「キャッシュ」 - 最初のAJAXは、データが を設定返さ使用し続けのDataTable
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)を実行すると、古いデータを表示し続けます。 「ネットワーク」タブで返品データを検索すると、更新されたデータが表示されます。
何が起こっていることができました?
は、前のデータテーブルを破壊し、新しいデータテーブルを追加する戻るAJAXの数値を文字列にキャスト
おそらくのDataTableに変更されましたか? – madalinivascu
'のURLを試してください: "HTTP:?//xyz/yzx/zxy.php V ="。+新しいDate()getTime、' –
は@madalin ivascuはい、それ故に "破棄":DataTableの初期化 でtrueオプション@ J Santosh;あなたの提案を試みたが、 AJAX呼び出しが再度行われたとき、ブラウザは「ネットワーク」タブが0を示しながら1としてそれをCONSOLE.LOGし続けて1から0に変更しています「アクティブ」1つのJSONプロパティがありますが動作しませんでした –