klo*_*ode 12 javascript http httpresponse http-headers angularjs
在我们的Angular应用程序中,我们需要解析一些$ http的响应头.
例如,我们需要解析一些带X前缀的响应头X-Total-Results: 35.
打开Network浏览器开发工具的选项卡并检查相对于$ http请求的资源,我验证了响应头X-Total-Results: 35是否存在.
在浏览器中,X-Total-Results标头可用,但无法在Angular $ http中解析.
有没有办法在$ http中访问'raw'响应并为头文件编写自定义解析器?
$http.({method: 'GET', url: apiUrl,)
.then( function(response){
console.log('headers: ', response.headers());
console.log('results header: ', response.headers('X-Total-Results'));
// ...
})
Run Code Online (Sandbox Code Playgroud)
控制台输出
headers: Object {cache-control: "no-cache="set-cookie"", content-type: "application/json;charset=utf-8"}
results header: null
Run Code Online (Sandbox Code Playgroud)
yve*_*era 23
您无法在JavaScript上读取标题但您可以在开发人员控制台上查看它的原因是因为对于CORS请求,您需要允许客户端读取标头.
您的服务器需要发送此标头:
Access-Control-Expose-Headers:X-Total-Results
Run Code Online (Sandbox Code Playgroud)
要在评论中回答您的问题,Access-Control-Allow-Headers根据W3规范,不允许使用通配符
| 归档时间: |
|
| 查看次数: |
5831 次 |
| 最近记录: |