我想創建一個通用的功能,在jQuery中處理表單。當從我的rest API獲得400響應時,我無法訪問error子句中的表單對象。JQuery的Ajax錯誤響應無法獲取表單對象的錯誤塊
在下面的代碼e.target的形式爲對象,但在錯誤子句不能訪問電子,即使使用全局變量,(這是不是好辦法)不工作
$(document).ready(function(){
$('form').validator().on('submit', function (e) {
if (e.isDefaultPrevented()) {
alert("Unexpected , contact admin");// handle the invalid form...
} else {
event.preventDefault();
$.ajax({
url: e.target.action,
method: e.target.method,
data:$(this).serialize(),
success: function(data) {
alert(JSON.stringify(data));
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
if (XMLHttpRequest.status == 0) {
alert(' Check Your Network.');
}else if (XMLHttpRequest.status == 404) {
alert('Requested URL not found.');
}else if (XMLHttpRequest.status == 500) {
alert('Internel Server Error.');
}else if (XMLHttpRequest.status == 400) {// Bad Request
$(e.target).append('<div class="alert alert-danger fade in alert-dismissable"><a href="#" class="close" data-dismiss="alert" aria-label="close" title="close">×</a><strong>Danger!</strong> This alert box indicates a dangerous or potentially negative action.</div>')
}else {
alert('Unknow Error.\n' + XMLHttpRequest.responseText);
}
}
});
return false;
}
});
})
我得到了錯誤$(e.tartget)的錯誤塊,e未定義。
創建重現問題 – charlietfl