是否可以让JqGrid向服务器发送JSON QueryString?

时间:2009-10-09 08:41:52

标签: javascript jquery jqgrid

是否可以告诉jqGrid以JSON格式发送所有搜索选项?因此,我不必在后端重新格式化。

2 个答案:

答案 0 :(得分:1)

没有类似文档中提到的直接功能,因此您可能已经意识到在jqGrid的beforeSubmit方法中手动执行。我会自发地使用jQuerys serializeArray方法表单和JSON Serializer。然后,您必须通过Ajax提交序列化表格。只需确保您返回成功:false,以便jqGrid不提交表单。

beforeSubmit : function(postdata, formid) {
    var formarray = $('#' + formid).serializeArray();
    var httpbody = JSON.stringify(formarray);
    // Send accordingly via AJAX
    $.ajax(...);
    // This looks kind of weird, but we don't want jqgrid to continue cause it was sent already
    return { success : false, message : "Successffully saved" };
} 

虽然看起来不是最好的解决方案,但beforeSubmit事件可能是唯一可以深入研究它的地方。

答案 1 :(得分:1)

我不知道这会有多大帮助,但我发现只要我将editurl设置为'#',我就可以在这里返回....

beforeSubmit:function(postdata,formid){

                    if (isValid) {
                        $.ajax({
                            type: "POST",
                            async: false,
                            contentType: "application/json; charset=utf-8",
                            url: "/RateIQ/Main.aspx/Accessorial/AccessorialDetailSave",
                            data: JSON.stringify(postdata),
                            dataType: "json"
                        });
                    }
                    return [isValid, ""]; 

} 到目前为止我没有经历任何副作用......