拦截XMLHttpRequest javascript的请求头

时间:2015-11-30 23:30:19

标签: javascript jquery ajax header xmlhttprequest

我需要记录通过所有XMLHttpRequests发送到服务器的自定义请求标头。有很多方法可以拦截请求并获取url参数,但找不到任何描述请求标头。这甚至可能吗?

任何方法都欢迎javascript,jquery等..

编辑:我不允许更改任何进行ajax查询的脚本。我需要通过添加另一个静态脚本来拦截查询。

2 个答案:

答案 0 :(得分:1)

这是服务工作者最擅长的。拦截所有请求

self.addEventListener('fetch', function(event) {
    console.log('Handling request for', event.request.url);

    // Do whatever you want with request headers
    event.request.headers.forEach(function(header){

    });
});

唯一的缺点是它没有得到广泛的支持。并且站点必须是https(服务工作者只能使用https,而http如果是本地主机)这就是该功能的样子

但我可以向您保证,您可以使用jQuery ajaxStart

轻松完成

答案 1 :(得分:0)

我认为存在一些jquery绑定在文档上的事件,比如ajaxComplete(),所以我认为你要找的是ajaxSend(),我希望看看代码片段有用:

$(document).ajaxSend(function(event, xhr, settings) {
     //this will show the url of the request
     console.log("URL", settings.url)
})

设置 参数上,您可以获取其他标题属性。