$.ajax({
type: "POST",
beforeSend: function(xhr){xhr.setRequestHeader('__RequestVerificationAntiCSRFToken', $("#hidden-CSRFToken").val());},
url: $(this).data('targetUrl'),
cache: false,
data:post_data,
dataType:"json",
async: true,
error: function(jqXHR, error, errorThrown) {
alert(jqXHR.status);
},
success: function(data) {
//...
}
});
分析問題墩蔓,發(fā)現(xiàn)以上代碼沒有問題梢莽,請求根本沒有發(fā)送到后臺,狀態(tài)碼是0表示沒有發(fā)出ajax請求奸披。各個狀態(tài)含義:
0 - (未初始化)還沒有調(diào)用send()方法
1 - (載入)已調(diào)用send()方法,正在發(fā)送請求
2 - (載入完成)send()方法執(zhí)行完成源内,
3 - (交互)正在解析響應(yīng)內(nèi)容
4 - (完成)響應(yīng)內(nèi)容解析完成份殿,可以在客戶端調(diào)用了
jQuery ajax請求錯誤返回status 0和錯誤error的問題膜钓,分析可能的原因:
1、url不存在(排除)
2卿嘲、url不可達(排除)
3颂斜、發(fā)送了跨域請求(排除)
4、數(shù)據(jù)格式錯(排除)
5拾枣、ajax在完成之前請求已經(jīng)被取消(ajax請求沒有發(fā)出),由于司蔬,
例如:頁面已經(jīng)跳轉(zhuǎn)或跳轉(zhuǎn)太快、瀏覽器輸入新的url俊啼、按鈕立即新的點擊等(確定)
修改方法是在原來的按鈕button的type="submit"改成"button"左医,頁面不立即跳轉(zhuǎn)同木,問題排除。
還有把 <a href=""></a>改掉彤路,不用a標簽跳轉(zhuǎn)芥映,問題排除。