我需要记录通过所有XMLHttpRequests发送到服务器的自定义请求标头。有很多方法可以拦截请求并获取url参数,但找不到任何描述请求标头。这甚至可能吗?
任何方法都欢迎javascript,jquery等..
编辑:我不允许更改任何进行ajax查询的脚本。我需要通过添加另一个静态脚本来拦截查询。
答案 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)
})
在 设置 参数上,您可以获取其他标题属性。