拦截XHR

时间:2009-07-29 12:52:27

标签: javascript events xmlhttprequest

当浏览器执行XHR时是否可以拦截? 无论使用哪种JavaScript库?

setTimeout(function() {
  // jQuery XHT
  $('#container').load('foo.html');
}, 5000);

当jQuery.load触发时,我想拦截它并在请求中添加url参数。

提前感谢提示和信息。

祝你好运

黄褐色

3 个答案:

答案 0 :(得分:0)

不可能对所有框架都没有,你必须在每个框架的基础上进行,因为它们都以不同的方式构建它们。如果这只是由您自己的代码使用,那么没有什么能阻止您为XHR调用写一个包装器,它可以标记最后的附加数据。

你想发送什么?缓存断路器?跟踪?还有为什么所有框架?

此外,如果您只想调试请求,可以在Firefox中使用Firebug查看所有已发送的XHR请求。

答案 1 :(得分:0)

每个JQuery ajax方法返回一个XHR(加载除外),所以如果你愿意,可以设置自己的onreadystatechange。

答案 2 :(得分:0)

是的,您可以 - http://github.com/jpillora/xhook - 在XMLHttpRequest2上实现一个包装器,允许您在请求发出之前和返回之后更改视图和修改请求