我有以下jQuery代码:
$.ajax({
type: "GET",
url: url,
complete: function( data ){
console.info( data.getResponseHeader("WWW-Authenticate") );
}
});
哪个将返回null。在Firebug中我可以看到,服务器发送标题“WWW-Authenticate”。
有没有办法获得标题?如果我能在Firebug中看到它,那么应该可以在jQuery中获取它。
我已经尝过这样的东西:
beforeSend: function(xhr){
xhr.setRequestHeader( "withCredentials", true );
xhr.setRequestHeader( "Access-Control-Expose-Headers", "WWW-Authenticate" );
xhr.setRequestHeader( "Access-Control-Allow-Headers", "WWW-Authenticate" );
}
如果我尝试:
data.getAllResponseHeaders()
// Returns:
Cache-Control: private
Content-Type: text/html
但是在Firebug中,我看到了更多的标题...更多。
非常感谢!
非常感谢!
答案 0 :(得分:2)
如果您正在使用CORS请求,在firebug中查看所有其他标头数据是正常的,但在您的xHR对象中,您将只看到其中的一些(内容类型,最后修改,语言,过期,编译指示和缓存控制)
您可以通过发送 Access-Control-Expose-Headers 来尝试将其添加到您的服务器响应中(如果您有权访问它),请查看here以获取更多信息的信息。