2016-03-23 6 views
2

私はJQuery DataTablesを使用するWebアプリケーションを持っています。 JSONデータを要求してテーブルに挿入するには、ajaxパラメータを使用します。JQuery DataTables - Catch 'ajax'レスポンス

ただし、要求された.phpファイルの先頭に、ユーザーがログインしているかどうかがチェックされます。このチェックが失敗すると、JSON通知がエコーされます。

<?php 
    session_start(); 
    if (!isset($_SESSION['logged']) || $_SESSION['logged'] !== true) { 
     $array = array(utf8_encode('logged')=>utf8_encode('false')); 
     echo json_encode($array); 
     exit; 
    } 
?> 

table = $('#active-issues').DataTable({ 
     "scrollY": pixels, 
     "dom": '<"top"if>rt<"bottom"><"clear">', 
     "paging": false, 
     "responsive":true, 
     "bProcessing": true, 
     "ajax": { 
      "data": function(){ 
       $('#active-issues').DataTable().ajax.url(
        "php/get_issues.php" 
        + "?id=" + id 
        + "&customer_id=" + customerid 
       ); 
      } 
     }, 
     columns: [ 
      { responsivePriority: 1 }, 
      { responsivePriority: 2 }, 
      { responsivePriority: 4 }, 
      { responsivePriority: 3 }, 
      { responsivePriority: 5 }, 
      { responsivePriority: 6 }, 
      { responsivePriority: 7 } 
     ], 
     "columnDefs": [ 
      { "type": "alt-string", targets: 5}, 
      { "type": "alt-string", targets: 6}, 
     ] 
    }); 

table.ajax.reload(null, false); 

それはjQueryのDataTableのに与えられた応答をキャッチすることは可能ですか?結果が{ logged: "false" }かどうかを確認し、それに応じて行動できるようにするには?

答えて

0

「allan」の助けを借りて、データテーブルフォーラムからしばらくお待ちください。しかし、問題は最終的に解決されます。それがない場合には、それが表に印刷される前にAjaxの結果を操作することが可能ですdataSrc経由

は、私は、しかし、結果はloggedが含まれているかどうか、それがfalseに等しいかどうかを確認し、それに応じて行動することを使用:

"ajax": { 
    "data": function(){ 
     $('#active-issues').DataTable().ajax.url(
      "php/get_issues.php?id=" + id + "&customer_id=" + customerid 
     ); 
    }, 
    "dataSrc": function (json) { 
     if(typeof json['logged'] != "undefined") { 
      if (json['logged'] == 'false') { 
       location.replace('php/logout.php'); 
      } 
     } 
     return json.aaData; 
    } 
}, 
0

はい、これは外部からajaxを実行して応答を取得するための独立したajaxリクエストを実行し、レスポンスに {logged: "false"}が含まれているかどうかを確認し、データにデータを入力しますそれに応じてテーブル。

関連する問題