Как отправить все rowData в формате JSON на сервер? - PullRequest
6 голосов
/ 29 сентября 2010

как отправить данные jqGrid в формате json на сервер?Должен ли я использовать какую-либо внешнюю библиотеку или сценарий для достижения этой цели?

Спасибо!

update1 : лишних licensePlateNumber не должно быть

[
    {
        "licensePlateNumber": ""
    },
    {
        "licensePlateNumber": "0000000000000029000721804",
        "sku": "795127",
        "description": "",
        "caseQuantity": "24",
        "isHeld": "false",
        "expirationDate": "Jul 22, 2010 12:00:00 AM"
    },
    {
        "licensePlateNumber": "0000000000000029000722323",
        "sku": "795127",
        "description": "",
        "caseQuantity": "24",
        "isHeld": "false",
        "expirationDate": "Jul 22, 2010 12:00:00 AM"
    },
    {
        "licensePlateNumber": "0000000000000029000722669",
        "sku": "795127",
        "description": "",
        "caseQuantity": "24",
        "isHeld": "false",
        "expirationDate": "Jul 22, 2010 12:00:00 AM"
    }
]

1 Ответ

18 голосов
/ 29 сентября 2010

Ваш подход из вашего другого вопроса в порядке, но jQuery.ajax имеет проблемы для сериализации массивов.Самый надежный и стандартный способ (см. здесь и здесь в качестве примеров), который я вижу, заключается в сериализации всех данных jqGrid в JSON (например, в отношении JSON.stringify функция:

$("#sendButton").click(function(){
    var gridData = jQuery("#list").getRowData();
    var postData = JSON.stringify(gridData);
    alert("JSON serialized jqGrid data:\n" + postData);
    $.ajax({
        type: "POST",
        url: "/cpsb/internalOrderList.do",
        data : {
            jgGridData: postData,
            customData: "bla bla"
        },
        dataType:"json",
        contentType: "application/json; charset=utf-8",
        success: function(response, textStatus, xhr) {
            alert("success");
        },
        error: function(xhr, textStatus, errorThrown) {
            alert("error");
        }
    });
});

имена параметров jgGridData, customData и т. Д., Вы можете выбрать все, что захотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...