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

前端之家收集整理的这篇文章主要介绍了有没有办法在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);
                }
           });

猜你在找的jQuery相关文章