3

JqG​​ridでサーバーエラーをユーザーに表示しようとしています

ここに私のコードがあります:

function addRow() {
$("#updateList").jqGrid('editGridRow', "new", {
    editData: {
        Year: function () { return $('#year option:selected').val(); }
    }
     , afterSubmit: function (response, postdata) { return [false, "fdfdfdfd", "141"]; }
    , height: 400, width: 400, reloadAfterSubmit: true
});

}

テストしたかっただけのStatusCode 500のサーバーからjsonエラーが発生したので、

return [false, "fdfdfdfd", "141"]

しかし、デフォルトのエラーメッセージが常に表示されます

「エラー ステータス: 'エラー'。エラー コード: 500」

これは「新しい」行追加モデル フォームです。インライン編集ではありません。

助けてくれてありがとう...

4

1 に答える 1

3

afterSubmitいつ使用できるかについて誤解があります。この関数は、サーバー フレームワークが常に正常な HTTP コードを生成し、エラーに関する情報を正常な応答の本文内にしか配置できない場合に役立ちます。

あなたの場合、サーバーはステータス コード 500 を返します。そのため、代わりにerrorTextFormatを使用する必要があります。試してみてください

errorTextFormat: function (response) {
    return "ERROR: fdfdfdfd!";
}

あなたのより興味深い実装はerrorTextFormat、たとえばhereにあります。さらに、回答を読んで、回答からデモを試すことをお勧めします。

于 2012-05-02T21:42:04.033 に答える