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

时间:2010-06-30 11:43:36

标签: javascript jquery ajax

说我有这段代码:

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

$('body').ajaxComplete(onComplete);

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

如何处理ajaxComplete事件的数据?

3 个答案:

答案 0 :(得分:5)

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

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

jQuery.httpData function是内部用于获取data处理程序success的内容,但可以直接使用它。请注意,它没有记录,因此在新版本中如有更改,恕不另行通知。例如,在 jQuery 1.4.3 中,它将改为jQuery.ajax.httpData

答案 1 :(得分:0)

根据文件:

http://api.jquery.com/ajaxComplete/

我认为你不想弄乱数据,因为它没有将任何数据传递给处理程序。如果你想要数据,最好使用常规Ajax中的set success属性。

答案 2 :(得分:0)

如果你想获取数据,这可能不是正确的处理程序,因为当任何AJAX调用完成时,这实际上更像是一个基本的通知回调(对于所有被挂钩的元素)。

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