Я делаю некоторые Аякса первый раз ... Код:Ошибка консоли присутствует даже в случае сбоя?
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
путь хорошо работает. При тестировании failure
маршрута, при условии, что formFailure
это простая функция ...
function formFailure(response){
console.log("successfully inside of formFailure")
}
То, что я заметил, что происходит в том, что console
показывает соответствующее сообщение журнала, как указано выше, но и показывает мне ошибку:
Failed to load resource: the server responded with a status of 400 (Bad Request)
Произошла ли эта ошибка? Я чувствовал, что, поскольку я представил адекватный fail
в $.then
, он не должен?
EDIT
Извиняюсь за сумбур, это не тот случай, Multiple Render/перенаправлять, я просто лениться и вырезания другой код, так как я только пытался описать провал поведение , Виноват. Код редактируется выше.
Вы делаете рендер с 'статусом: 400', так что это правильное поведение. – Sajan
Два вопроса (1) Какая версия jQuery? (2) Обработан ли 'form_ajax_promise' дальше? –
1) jQuery 2.2.4, 2) не обрабатывается дальше – james