jquery Ajax $ .ajaxError
我有一堆包含成功和错误条件的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并请求显示更详细的错误消息?
Q1。 您可以像这样使用.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()
版本中,这将通过$.ajaxError()
来完成,因为1.7不再是这种情况,你需要将它附加到你想要它的jQuery对象上,或者如果你不关心则记录关于一个特定的元素。