在没有DOM元素的情况下绑定jQuery AJAX事件

3
在jQuery AJAX事件的文档中,所有的例子都使用jQuery DOM元素来声明绑定,例如: (链接)
$('.log').ajaxSend( hander );

我想在不需要DOM元素附加它们的情况下捕获jQuery AJAX事件,就像这样:

通过此代码:

$.ajaxSend( function( event, jqXHR, ajaxOptions ){
  console.log( "ajaxSend" );
  console.log( "ajaxSend.event", event );
  console.log( "ajaxSend.jqXHR", jqXHR );
  console.log( "ajaxSend.ajaxOptions", ajaxOptions );
});

但是看起来它并没有起作用:
Uncaught TypeError: Object function (a,b){return new e.fn.init(a,b,h)} has no method 'ajaxSend' 

有什么建议吗?

听起来你的页面上没有加载jQuery。 - Jeff
1
@Jeff:TypeError 显示的函数是 jQuery 函数 *(已混淆)*。jQuery 函数还是其他函数和数据的命名空间。错误是因为该命名空间上没有 ajaxSend 方法。 - user1106925
@amnotiam 是的,我注意到了。但是我没有更好的答案。抱歉。 - Jeff
2个回答

4
您可以使用 document
$(document).ajaxSend( hander );

非常好的解决方法,我会让这个问题保持开放状态一段时间,等待解决方案,如果有的话,不需要“变通”。 - fguillen

0

听起来你想自定义你的 ajax 调用,可以使用 $.fn.ajax 调用非常好:

$.ajax('{your_url}', options);

1
不,我想绑定所有的AJAX事件来构建一个控制台调试,就像这个 https://gist.github.com/3182810 - fguillen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接