jqGrid:显示服务器错误消息

jqGrid:显示服务器错误消息,jqgrid,Jqgrid,我有一个jqGrid编辑表单,其中包含一个日期字段。我想实现异常处理,以便在编辑表单中显示来自服务器的错误消息。答复示例: HTTP/1.1 400 Bad Request Server: Apache-Coyote/1.1 Date: Fri, 28 Jun 2013 15:47:21 GMT Content-Type: application/json Transfer-Encoding: chunked Connection: close 11 "Bad Date format" 0

我有一个jqGrid编辑表单,其中包含一个日期字段。我想实现异常处理,以便在编辑表单中显示来自服务器的错误消息。答复示例:

HTTP/1.1 400 Bad Request
Server: Apache-Coyote/1.1
Date: Fri, 28 Jun 2013 15:47:21 GMT
Content-Type: application/json
Transfer-Encoding: chunked
Connection: close

11
"Bad Date format"
0
jqGrid仅在表单顶部显示“错误状态:'Bad Request'错误代码:400”。如何让它同时显示错误消息:“日期格式错误”

您应该使用表单编辑的回调。作为参数,回调get对象是对象上的包装器。它的属性表示响应的主体(
11\n“错误日期格式”\n0
)。该属性获取HTTP状态代码(示例中为
400
)。您可以使用和来检查所有


顺便说一下,我发现响应包含
内容类型:application/json
,但响应的主体不包含json字符串,这非常奇怪

假设您的响应包含两个字段:状态(OK,ERROR,…)和消息,那么您应该编写如下函数:

    validateAfterSubmit = function(response, postdata){
        var json   = response.responseText; // response text is returned from server.
        var result = JSON.parse(json); // convert json object into javascript object.
        return [result.status == 'OK', result.message, null];
    };
并在编辑/添加选项中指定:

            //edit options
            { url: '...',
                afterSubmit: validateAfterSubmit
            },
            //add options
            { url: '...',
                afterSubmit: validateAfterSubmit
            },

希望这能对Oleg有所帮助,谢谢您的回复。我按照您的指示阅读了错误消息:{mtype:“POST”,addCaption:“Add New System message”,errorTextFormat:function(request){var message=request.responseText;alert(message);}},}。。。现在,如果可能的话,我如何让messag自动显示在表单顶部,并附加到错误消息的其余部分?顺便说一句,内容类型是最初声明的mime类型,由CXF返回。显然,如果出现错误,它不会更新它。@Pablo:
errorTextFormat
callback应该返回包含应该显示的文本或HTML片段的字符串。你可以在中找到一个例子。从答案上看。小心,演示中
errorTextFormat
的代码部分是应该删除的伪代码。明白了。再次感谢你。