0

サーバーへのすべてのajax呼び出しの通常のデータと一緒に、JSON文字列形式でカスタムデータを送信する必要があります。

これが私のJavaScriptコードです。

   $('#dataList').dataTable({
        "bFilter": false,
        "bSort": false,
        "bAutoWidth": true,
        "iDisplayLength": 20,
        "sPaginationType": "full_numbers",
        "bProcessing": true,
        "bServerSide": true,
        "sAjaxSource": "/ViewGenerator/GetPagedViewData",
        "sServerMethod": "POST",
        "fnServerParams": function (aoData) {
            var name = $('#viewName').val();
            var viewId = $('#viewId').val();
            var description = $('#viewDescription').val();
            var viewInfo = JSON.stringify(currentviewInfo);
            aoData.push({ "name": "viewId", "value": viewId });
            aoData.push({ "name": "viewName", "value": name });
            aoData.push({ "name": "viewDescription", "value": description });
            aoData.push({ "name": "viewInfo", "value": viewInfo });
        },
        "fnRender": function (oObj) {
            for (var i = 0; i < oObj.length; i++) {
                console.log(oObj[i]);
            }
        }
    });

コントローラの署名は次のとおりです。

public JsonResult GetPagedViews(int? iDisplayStart = 0, int? iDisplayLength = 0, int? sEcho = 0, string viewId = null, string viewName = null, string viewDescription = null, viewInfo viewInfo = null)
    {

Chromeデベロッパーツールでjsエラーを表示すると、不正なリクエスト(400)が行われていることがわかり、バグのあるコードの正確な場所を見つけることができません。また、データテーブルajax呼び出しごとにアプリケーションタイプをapplication/jsonに設定するにはどうすればよいですか。

4

1 に答える 1

0

調べた後、fnServerDataAjaxCallingオプションに出くわしました。このAPIの助けを借りて、私はこのタスクを完了することができました。詳細はこちら

于 2014-08-15T05:50:46.910 に答える