【转】ajax发送请求时候为什么会报拒绝设置不安全的header

浏览器不允许用户手动设置敏感的Http header包括但不限于cookie、host、referer

 

为了安全,跨域XHR对象有一些限制:
  • 不能使用 setRequestHeader() 设置自定义头部
  • 不能发送和接收 cookie
  • 调用 getAllResponseHeaders() 方法总会返回空字符串
参考:
1.《JavaScript高级程序设计(第3版)》 - 21.4.2 其他浏览器对 CORS 的实现

作者:April
链接:https://www.zhihu.com/question/36723766/answer/193913511
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

这种问题还是要看标准的XMLHttpRequet相关接口的定义,设置request header头的时候,有些name是被禁止的:

文档已经列出了这些被禁止的name:

所以,碰到这种问题最快捷的方法是直接看官方文档。

from:https://www.zhihu.com/question/36723766

posted on 2018-04-19 14:50  神奇的旋风  阅读(419)  评论(0编辑  收藏  举报

导航