私はいくつかのAJAX初めてやってる...コード:フェールをキャッチしてもコンソールエラーが表示されますか?
jQueryの
form_ajax_promise = $.ajax({
type : "POST",
url : '/orders/create_or_update',
dataType: 'json',
contentType: 'application/json',
data : JSON.stringify(params)
})
form_ajax_promise.then(
function(response) {
formSuccess(response)
},
function(response) {
formFailure(response)
}
)
コントローラ
def create_or_update
if @object.save
# corresponds with formSuccess
render json: {"id" => @order.id}, status: 200
else
# corresponds with formFailure
render json: {"errors"=> @order.errors.full_messages}, status: 400
end
end
success
パスがうまく動作します。 formFailure
はただ単純な関数であると仮定すると、failure
ルートをテストするには...何が起こっている私が気づい
function formFailure(response){
console.log("successfully inside of formFailure")
}
はconsole
は、上記のように、適切なログメッセージを表示するだけでなく、私にエラーを示すことです。
Failed to load resource: the server responded with a status of 400 (Bad Request)
このエラーは起こりますか? $.then
に適切なfail
を提供して以来、私は好きでしたか?
EDIT混乱のため
謝罪私は行動に失敗記述しようとしていたことから、これは、レンダリング/再直接、私はただ怠けていると他のコードを切り出した複数のケースではありません。私の間違い。コードは上記で編集されています。
あなたは 'status:400'でレンダリングしています。これは正しい動作です。 – Sajan
2つの質問(1)どのバージョンのjQueryですか? (2) 'form_ajax_promise'はさらに処理されますか? –
1)jQuery 2.2.4、2)それ以上処理されません – james