微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

有没有办法在jQuery $.ajax调用中获取所有请求标头?

我正在构建 AJAX请求的调试工具,我想显示请求/响应标头(就像Firebug一样).我可以使用 jqXHR.getAllResponseHeaders获取响应标头,但是请求头是否等同?

如果没有,我知道我可以自己重建一下:

GET /blah  // this part is easy
Host: servername.com  // pretty easy
Accept:  ???
Referer: ??? // just use current page url?
User-Agent:  // easy from navigator.userAgent
X-Requested-With: XMLHttpRequest   // hardcoded,$.ajax always does this?
Accept-Charset: ???
Accept-Encoding: ??? 
Accept-Language: ???
Connection: ???

我主要关心接受.看来浏览器或者是改变这个,因为我设置$.ajax({dataType:’json’}),而在firebug我看到接受application / json,text / javascript,* / *; Q = 0.01.我想要捕获发送的实际头文件.

对于引用者来说,使用window.url是安全的,还是别的东西?

我不知道如何获取Accept- *或Connection值.

解决方法

您可以使用“this”作为当前ajax请求的参考,然后获取属性“accept”,如下所示:
$.ajax({
                type: 'POST',dataType: 'JSON',url:'ajax.PHP',data:my_data_array,success: function(data) {
                    console.log(this.accepts);
                }
           });

原文地址:https://www.jb51.cc/jquery/178928.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐