jQuery dataTables - передача строковых данных в формате json на сервер - PullRequest
0 голосов
/ 27 февраля 2012

Мне нужно отправлять пользовательские данные в строковом формате JSON вместе с обычными данными для каждого вызова ajax на сервер.

Вот мой код 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)
    {

Когда я просматриваю ошибки js в Chrome Developer Tool, я обнаруживаю, что выполняется неверный запрос (400), я не могу найти точное местоположение глючного кода.Кроме того, как я могу установить тип приложения на application / json для каждого из ajax-вызовов datatables.

1 Ответ

0 голосов
/ 15 августа 2014

После исследования я наткнулся на параметры вызова Ajax в fnServerData. С помощью этого API я смог выполнить эту задачу. Подробнее здесь

...