【问题标题】:Jqgrid show errors from jsonJqgrid 显示来自 json 的错误
【发布时间】:2012-12-16 23:44:19
【问题描述】:

我的问题是这样的,我想通过我得到 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];
            }
        }
    }); 

【问题讨论】:

    标签: php jquery json oracle jqgrid


    【解决方案1】:

    试试这个

    afterSubmit: function (response, postdata) 
    {
    
      if(jQuery.parseJSON(response.responseText).Response)
    alert(jQuery.parseJSON(response.responseText).Message);
    
    }
    

    【讨论】:

    • 碰巧我用过它,但仍然没有出现任何东西。我仔细看了看,发现我必须在jqgrid reloadaftersubmit:false。除了在我添加重新加载时继续执行之外,不显示任何警报。已经开始对此感到绝望
    • 你在萤火虫控制台看到了什么?
    • 在这里说出你所说的话。 Post 得到一个带有我提到的错误的 json 格式,这又出现了一个 Get Everything 出现在表格中
    • 你在使用 inlineEdit 吗?
    • 更新答案请试一试,afterSubmit有2个参数response和postdata
    【解决方案2】:

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

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

    请在提交代码后试试这个,看看你是否看到了什么:

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

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

    【讨论】:

    • 我明白你的意思,但我仍然很难显示这个错误,即使是从一个字符串
    • 另外你把“response”拼错了:if(responce == false)应该是if(response == false),也是另一种思路,检查答案。
    猜你喜欢
    • 2018-05-09
    • 2013-07-30
    • 2016-06-21
    • 1970-01-01
    • 1970-01-01
    • 2017-10-11
    • 1970-01-01
    • 2020-11-11
    • 1970-01-01
    相关资源
    最近更新 更多