2

ASP.NET MVC アプリケーションで JQuery Datatable プラグインを使用しようとしています。ただし、コントローラーは JSON データをプラグインに返しますが、テーブルにはLoading...メッセージが表示され、そこにスタックします。

これは私のコントローラーです。

public ActionResult GetCompanies(jQueryDataTableParamModel param)
{
   return Json(new
   {
       sEcho = param.sEcho,
       iTotalRecords = 97,
       iTotalDisplayRecords = 3,
       aaData = new List<string[]>() {
           new string[] {"1", "a1", "a2", "a3"},
           new string[] {"2", "b1", "b2", "b3"},
           new string[] {"3", "c1", "c2", "c3"}
           }
       }, JsonRequestBehavior.AllowGet);     
}

これはデータテーブル プラグインの初期化です。

$('#companyDataTable').dataTable({
    bProcessing: true,
    sAjaxSource: '@Url.Action("GetCompanies", "Company")'
});

これは私のテーブルのスクリーンショットです。

ここに画像の説明を入力

これはプラグインに返される JSON データです。Company/GetCompanies

{ "sEcho":null,
  "iTotalRecords":97,
  "iTotalDisplayRecords":3,
  "aaData":[ ["1","a1","a2","a3"],
             ["2","b1","b2","b3"],
             ["3","c1","c2","c3"]
           ]
}

jQuerDataTableParamModelここに示されているクラスです。この質問に対する回答も試しましたが、どれもうまくいきません。

編集 :

これは、プラグインのリクエストがどのように見えるかです。

ここに画像の説明を入力

何か案は ?

ありがとう

4

2 に答える 2

2

リクエストと同じ sEcho 値を返す必要があります。応答では、「sEcho」値が null であるため、DataTables は要求と応答を接続できません。

DataTablesのドキュメントから:

sEchoクライアント側から送信された sEcho の変更されていないコピー。このパラメーターは描画ごとに変化します (基本的には描画回数です)。そのため、これを実装することが重要です。セキュリティ上の理由から、クロス サイト スクリプティング (XSS) 攻撃を防ぐために、このパラメーターを整数に「キャスト」することを強くお勧めします。

于 2012-07-05T14:52:55.937 に答える
0

おそらくOPには遅すぎますが、DataTablesのバージョン1.10を使用していたと思いますか?

入力パラメーターは以前のバージョンとはかなり異なっているため、そのチュートリアルのカスタム オブジェクト (jQueryDataTableParamMode) のプロパティに値がバインドされていません。

現時点では、受信変数のバージョン 1.10 の最新のドキュメントは、ここにリンクの説明を入力してください。

これは、古い「sEcho」を置き換える「draw」と呼ばれる変数について話していることがわかります。

バージョン 1.9 以前の同じドキュメント ページはこちら

さらに、ここに 1.9 から 1.10 へのアップグレードの比較リストがあります。

于 2014-07-25T13:01:17.327 に答える