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对象上,或者如果你不关心则记录关于一个特定的元素。