[英]Laravel, return response 400 error with jquery ajax
我幾個月前使用Laravel 4.1構建了一個Web系統,在我的請求中,我使用了Response :: json();。 將數據返回到jquery ajax。
而且效果很好!
現在的問題是,我正在使用Laravel 4.2構建另一個Web系統,並且使用相同的錯誤代碼200和400 ... 200可以正常工作,但400不能正常工作,因為例如:
拉拉韋爾
<?php
public function example()
{
if (Input::get('param1') === 'value1') {
return Response::json(array(
'msg' => 'Correct!'
), 200);
}
return Response::json(array(
'msg' => 'Incorrect!'
), 400);
}
?>
jQuery (我使用的是相同的jquery版本:1.10.2)
$.ajax({
url: 'example',
type: 'post',
dataType: 'json',
data: {param1: 'value1'},
})
.done(function(data) {
console.log(data.msg);
})
.fail(function(data) {
console.log(data.msg);
})
.always(function() {
console.log("complete");
});
兩種情況下,請求都正確返回json,但是...
當為Correct / 200時,ajax的.done()在控制台中正確顯示該消息,但如果為Incorrect / 400,則ajax的.fail()不顯示該消息,而是顯示未定義,並且我不知道發生了什么。
我希望你能幫助我。
解決了
檢查我的自我答案。
解決了
我可以使用以下命令接收到json失敗:
fail(function(jqXHR)) {
console.log(jqXHR.responseJSON.msg);
}
並正常工作!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.