我有這個jQuery代碼發送表單提交Ajax請求。我的問題是我不能使用該代碼捕獲超時錯誤。當我自己發送一個500響應時,它正在工作,但如果我得到一個超時,然後在控制檯中看到500,但沒有任何反應,錯誤回調不會執行。相反,我得到:jQuery&Ajax:捕捉500
SyntaxError: syntax error
就行了:
$(document).ready(function(){
下面是完整的代碼:
$(document).ready(function(){
$('body').on('submit', 'form#myForm', function(){
$.ajax({
type: "POST",
url: $(this).attr('action'),
data: $(this).serialize(),
dataType: 'json',
success: function(data, textStatus, jqXHR){
alert('success!');
},
error: function(jqXHR, textStatus, errorThrown){
alert('error!');
}
});
return false;
});
});
如果刪除dataType:'json',會發生什麼?這聽起來像jquery正在試圖解析一個純文本的超時響應爲JSON。 – 2014-10-07 15:27:30
你釘了它@AndrewLorente謝謝!我應該考慮一下。 – Spir 2014-10-07 15:45:57