2017-05-15 8 views
0

シナリオ: - ドキュメントロードの機能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)を実行すると、古いデータを表示し続けます。 「ネットワーク」タブで返品データを検索すると、更新されたデータが表示されます。

何が起こっていることができました?

+0

は、前のデータテーブルを破壊し、新しいデータテーブルを追加する戻るAJAXの数値を文字列にキャスト

おそらく
if(data['active'] == 1) 

のDataTableに変更されましたか? – madalinivascu

+1

'のURLを試してください: "HTTP:?//xyz/yzx/zxy.php V ="。+新しいDate()getTime、' –

+0

は@madalin ivascuはい、それ故に "破棄":DataTableの初期化 でtrueオプション@ J Santosh;あなたの提案を試みたが、 AJAX呼び出しが再度行われたとき、ブラウザは「ネットワーク」タブが0を示しながら1としてそれをCONSOLE.LOGし続けて1から0に変更しています「アクティブ」1つのJSONプロパティがありますが動作しませんでした –

答えて

0

私は最終的にそれを固定

if(data['active'] = 1)