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 データを取得することを想定していますが、文字列を受け取ると、エラーが表示されます。

JSON の代わりに XML で JqGrid を使用していますが、AJAX スクリプトでエラーが発生した場合、jqgrid が予期している XML の代わりに文字列を返すだけで、グリッドはエラー メッセージを正しく表示します。

この afterSubmit コードを試して、何かが表示されるかどうかを確認してください。

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

それがわかれば準備は完了です。関数を微調整して、実際にエラーが発生した場合にのみ応答を表示する必要があります。

于 2013-01-02T15:56:31.050 に答える