代码之家  ›  专栏  ›  技术社区  ›  ZeroCool

是否可以让jqgrid向服务器发送一个json查询字符串?

  •  0
  • ZeroCool  · 技术社区  · 15 年前

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

    2 回复  |  直到 15 年前
        1
  •  1
  •   Daff    15 年前

    没有像文档中提到的那样的直接函数,所以您可能已经在jqgrid的beforesubmit方法中手动意识到了这一点。我会自发使用 jQuerys serializeArray 窗体的方法和 JSON Serializer .然后您必须通过Ajax提交序列化表单。只要确保返回success: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事件可能是唯一能深入研究它的地方。

        2
  •  1
  •   Andrew    15 年前

    我不知道这会有多大帮助,但我发现只要我将editURL设置为“”,我就可以返回true。

    beforesubmit:函数(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, ""]; 
    

    } 到目前为止我还没有经历过副作用…