1

我的问题是这样的,我想通过我得到的 json 信息来显示错误。也就是说,当我们在 jgrid 中添加/编辑某些内容时,我们总是希望在 json 数据中得到响应。然后我记得它是什么,如果你不能添加一些东西,我会发送 json 错误。

我想使用 Jquery 中的 Highlight / Error 来显示错误。这就是我的问题,我该如何展示它。从我一直在搜索的内容来看,应该是属性 aftersubmit 实现并在此处处理响应,但只是我没有得到。

代码:

afterSubmit: function (response) 
{
   if(responce == false)
        alert("test");
}

json格式错误:

{"Response":false,"Message":"Dados inválidos"}

有人可以帮助我吗?

----------------------------------------解决方案--------- ---------------------------------------------

jQuery.extend(jQuery.jgrid.edit, 
    {
        reloadAfterSubmit:false,
        afterSubmit: function (response, postdata) 
        {
            if(jQuery.parseJSON(response.responseText).Response  == false)
            {
                alert(jQuery.parseJSON(response.responseText).Message);
                return [false,null,null];
            }
            else
            {
                return [true,null,null];
            }
        }
    }); 
4

2 回答 2

1

试试这个

afterSubmit: function (response, postdata) 
{

  if(jQuery.parseJSON(response.responseText).Response)
alert(jQuery.parseJSON(response.responseText).Message);

}
于 2013-01-03T03:39:06.973 回答
0

我认为对于错误,只需将错误作为 AJAX 脚本中的字符串返回。JqG​​rid 期望获取 JSON 数据,但是当它接收到一个字符串时,它会为您显示错误。

我使用 JqGrid 和 XML 而不是 JSON,但是在我的 AJAX 脚本中,当我遇到错误时,我只返回一个字符串而不是 jqgrid 期望的 XML,并且网格正确显示错误消息。

请在提交代码后尝试此操作,看看您是否看到任何内容:

afterSubmit: function (response) 
{
   alert(response);
}

如果你能看到,那么你就已经准备好了,你只需要调整函数以仅在实际出现错误时显示响应。

于 2013-01-02T15:56:31.050 回答