0

応答メソッドの設定で機能するjQueryajaxに返す必要があるHTTPエラーコードは何ですか?jQuery1.7を使用します。

たとえば、次のコードがあります。

var request = $.ajax({
            type: "POST",
            url: "/report/template/save",
            data: formData,
            success: function() {

            },
            statusCode: {
                400: function() {
                  $('#template_form .ajax-msg').show();
                  $('#template_form .ajax-msg').html('<strong>Sorry, save failed.');
                }
            }
        });
request.fail(function(data) {
            $('#template_form .ajax-msg').show();
            $('#template_form .ajax-msg').html('<strong>Sorry, save failed.');
        });

私は確かに400が返されていることを確認できます。

フォームがサーバー側を検証しない場合は、ステータス500と400の両方を返そうとしましたが運がありませんでした。代わりに、コードが停止し、.ajax-msgが何も表示されないことが起こります。何を$.ajax期待していますか?ありがとう!

4

1 に答える 1

0

複数の対立が存在し、コメントのおかげで私はそれを整理することができました。

まず、成功ハンドラーが多すぎました(私の意見では、名前は少しあいまいです)。私は削除してstatusCode置き換えました。これにより、とにかく各応答でアクションを実行できました。request.failrequest.always

第二に、コードは実際には停止していませんでしたが、誤ってセレクターを台無しにして、$('#template_form .ajax-msg')に変更されました'$('.modal .ajax-msg')

それが将来の問題に役立つことを願っています!

于 2012-06-10T05:14:06.050 に答える