JavaScript / jQuery:无法获得“WWW-Authenticate”响应标头

时间:2015-11-12 13:36:07

标签: javascript jquery http-headers httpresponse digest-authentication

我有以下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中,我看到了更多的标题...更多。

非常感谢!

非常感谢!

1 个答案:

答案 0 :(得分:2)

如果您正在使用CORS请求,在firebug中查看所有其他标头数据是正常的,但在您的xHR对象中,您将只看到其中的一些(内容类型,最后修改,语言,过期,编译指示和缓存控制)

您可以通过发送 Access-Control-Expose-Headers 来尝试将其添加到您的服务器响应中(如果您有权访问它),请查看here以获取更多信息的信息。