Javascript 如何处理ajaxComplete事件中的响应数据

Javascript 如何处理ajaxComplete事件中的响应数据,javascript,jquery,ajax,Javascript,Jquery,Ajax,假设我有这个代码: function onComplete(event, request, settings) { // How do I get the data? In the correct format? } $('body').ajaxComplete(onComplete); 在常规ajax成功处理程序中,我可以直接访问数据,因为它将是处理程序的第一个参数。它也将采用正确的格式(只要在服务器上正确设置了内容类型) 如何处理ajaxComplete事件中的数据?根据文档:

假设我有这个代码:

function onComplete(event, request, settings)
{
    // How do I get the data? In the correct format?
}

$('body').ajaxComplete(onComplete);
在常规ajax成功处理程序中,我可以直接访问数据,因为它将是处理程序的第一个参数。它也将采用正确的格式(只要在服务器上正确设置了内容类型)


如何处理ajaxComplete事件中的数据?

根据文档:


我不认为您是想摆弄数据,因为它不会将任何数据传递给处理程序。如果您想要数据,最好在常规Ajax中使用set success属性。

如果您想要获取数据,这可能不是正确的处理程序,因为这实际上更像是在任何Ajax调用完成时作为基本通知回调(用于所有挂钩的元素)

要获取数据,您可能需要在方法中更具针对性,并使用$.ajax()调用或其变体之一,如$.get()或$.getJSON()。请参见

您可以这样使用它,但没有文档记录:

function onComplete(event, request, settings) {
  var data = $.httpData(request, settings.dataType, settings);
}

是内部用于为
成功
处理程序获取
数据
,但您可以直接使用它。请注意,它是未记录的,因此可能会在新版本中更改,恕不另行通知。例如,在jQuery 1.4.3中,它将被替换。

+1-说真的,你在业余时间做了太多jQuery核心研究:p@jAndy-事实上,我只是需要偶尔看看为什么会发生一些事情,不管是针对我正在进行的项目还是这里的一个问题……但是jQuery并没有那么大,过了一段时间,你还记得它的大部分内容:)似乎工作得很好!当它在新版本中中断时,我只需要记住这一点:pThing是指我要介绍的情况是,由于request.status将不同于200,因此未调用成功处理程序。我已经在适当的地方处理了数据,但出现故障时除外。当出现故障时,我会从服务器发送json编码的错误消息,状态为400或404,具体取决于合适的情况。我想显示这些信息。