我有一堆包含成功和错误条件的 ajax 调用,如下所示:
$.ajax({
url: 'Remote/State.cfc'
,type: "POST"
,data: {
'method': 'UpdateStateName'
,'StateID': StateID
,'StateName': StateName
}
,success: function(result){
if (isNaN(result)) {
$('#msg').text(result).addClass('err');
} else {
$('#' + result + ' input[name="StateName"]').addClass('changed');
};
}
,error: function(msg){
$('#msg').text('Connection error').addClass('err');
}
});
所有错误条件都相同。换句话说,他们都在 msg id 中放置了短语“连接错误”。
Q1:我可以删除所有这些并将它们替换为
$().ajaxError(function(myEvent, request, settings, thrownError) {
$('#msg').text('Connection error').addClass('err');
});
Q2:您将如何使用 myEvent 和 request 来显示更多信息性错误消息?
最佳答案
一季度。您可以像这样使用 .ajaxError()
:
$(document).ajaxError(function() {
$('#msg').text('Connection error').addClass('err');
});
...或者如果
#msg
元素一直存在,你可以这样做:$('#msg').ajaxError(function() {
$(this).text('Connection error').addClass('err');
});
Q2。您可以使用
ajaxError
传入的处理程序参数,它使用以下格式:handler(event, XMLHttpRequest, ajaxOptions, thrownError)
,像这样:$(document).ajaxError(function(event, request, options, error) {
$('#msg').addClass('err')
.text('Connection error: ' + error + ' when connecting to ' + options.url);
});
注意:在以前的 jQuery 版本中,这将通过
$.ajaxError()
完成,因为 1.7 不再是这种情况,您需要将其附加到您想要的 jQuery 对象,或者 document
如果您不关心特定元素.关于jquery Ajax $.ajaxError,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2587262/