2017-04-23 10 views
0

サーバー側の機能を持つデータ型を使用しようとしています。しかし、それは私にこのエラーを与えるデータを取得しようとすると、それを却下した後、データを適切に再読み込みします。 JS Datatables |データを取得中に不明な警告が発生する

Warning gif

あなたが見ることができるように

DataTables warning: table id=clientTable - 
。警告の説明はありません。また、私はコンソール警告を持っていません。ここに私のコードは次のとおりです。

表のHTML

<table class="table table-striped table-hover table-bordered" id="clientTable"> 
    <thead> 
     <tr> 
      <th>ID</th> 
      <th>Name</th> 
      <th>Phone</th> 
      <th>Mail</th> 
      <th>Date</th> 
      <th>Auto</th> 
     </tr> 
    </thead> 
</table> 

のDataTableの初期化

$('#clientTable').dataTable({ 
    "iDisplayLength": 20, 
    "processing": true, 
    "serverSide": true, 
    "ajax": clientApiConstant, 
    "columns": 
    [ 
     { "data": "id",}, 
     { "data": "name" }, 
     { "data": "phone" }, 
     { "data": "mail" }, 
     { "data": "date" }, 
     { "data": "auto" } 
    ] 
}); 

クライアントAPIレスポンス

{ 
    "data": [ 
    { 
     "id": 2, 
     "name": "John Doe", 
     "date": "2017-04-04T00:00:00+0000", 
     "mail": "[email protected]", 
     "phone": "123123123", 
     "auto": true 
    }, 
    { 
     "id": 3, 
     "name": "Doe John", 
     "date": "2017-04-22T00:00:00+0000", 
     "mail": "[email protected]", 
     "phone": "234234234", 
     "auto": false 
    } 
    ], 
    "recordsTotal": 2, 
    "recordsFiltered": 2, 
    "error": [] 
} 

Dipakの答えへの対応。私datatables.jsに障害が発生した場所です:

function K(a, b, c, d) { 
     c = "DataTables warning: " + (a ? "table id=" + a.sTableId + 
     " - " : "") + c; 
     d && (c += ". For more information about this error, please see http://datatables.net/tn/" + d); 
     if (b) 
      E.console && console.log && console.log(c); 
     else if (b = m.ext, b = b.sErrMode || b.errMode, a && s(a, null, "error", [a, d, c]), "alert" == b) 
      alert(c); 
     else { 
      if ("throw" == b) 
       throw Error(c); 
      "function" == typeof b && b(a, d, c) 
     } 
    } 

"機能" == typeof演算B & & B(、D、C)のラインで。行番号1763 @バージョン1.10.15

答えて

0

dataTableの代わりにCapital 'D'を使用してDataTableを書き込みます。 DataTableのブール型プロパティの場合は は接頭辞bを使用し、文字列プロパティの場合は接頭辞sを使用します。だから、ユーザーコードはこれを好きになるでしょう。

$('#clientTable').DataTable({ 
    bServerSide: true, 
    sAjaxSource: 'clientApiConstant', 
    columns: [ 
     { "data": "id",}, 
     { "data": "name" }, 
     { "data": "phone" }, 
     { "data": "mail" }, 
     { "data": "date" }, 
     { "data": "auto" } 
    ] 
}); 

上部の小文字のケーシングに注意してください。

+0

私はバージョン1.10.15でsAjaxSourceを使用することはできません。動いていない。プラス;上位Dの変更やbServerSideの変更のようなものは何もしません。何も変わらない。 –

+0

この記事をご覧ください。DataTableの代わりにdataTableを使用する方法 http://stackoverflow.com/questions/25207147/datatable-vs-datatable-why-is-there-a-difference-and-how-do-i-make -them-w –

+0

これらを変更して、ajaxリクエストも変更してください。だから私はAPIを修正しましたが、それでも同じ問題があります。説明のない警告。 –

1

これはあなたの問題についての説明である

jQueryのサーバが2XXのHTTPステータスコード以外のものを使用して応答する場合、通常発生しますそのエラーコールバックハンドラ(のDataTableに組み込まれ、このコールバック)、に該当する場合に発生。たとえば、サーバーは、要求されたファイルが指定されたURLで利用できないことを示す404 Not Found、または要求の処理中にサーバーでエラーが発生したことを示す500 Internal Errorで応答する場合があります。

ソリューション: あなたは(あなたがエラーを修正するためのバックエンドシステムを変更することができない場合など)、エラーを受け入れようとしているが、エンドユーザーが警告()メッセージを表示したくない場合は、 DataTablesのエラー報告メカニズムを変更して、アラートするのではなく、ブラウザのコンソールにJavascriptエラーをスローすることができます。詳細については

$.fn.dataTable.ext.errMode = 'throw'; 

はこれをチェック:これは、使用して行うことができます https://datatables.net/manual/tech-notes/7

+0

いいえ..私のAPIは200を返します。私のチェックリストにチェックリストがありました。 SymfonyプロファイラとPostmanがそれを確認します。しかし、このエラーは何も影響を与えないように思われるので、多分私はこれを使うことができます。しかし、私はそれが –

+0

に影響するかどうか、私は恐れます。私はコンソールエラーがあり、私のデータは表示されません。 ** jquery.dataTables.js:74:282 **私の質問を編集して、どの行が失敗するかを表示しています。 –

関連する問題