说我有这段代码:
function onComplete(event, request, settings)
{
// How do I get the data? In the correct format?
}
$('body').ajaxComplete(onComplete);
在常规的ajax成功处理程序中,我可以直接访问数据,因为它将是处理程序的第一个参数。它也将采用正确的格式(只要在服务器上设置了内容类型)。
如何处理ajaxComplete
事件的数据?
答案 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