浅谈在fetch方法中添加header后遇到的预检请求问题
2017-08-31 08:50
441 查看
今天在使用fetch方法
fetch('xxx.com',{header:{bbbbbbb:111}})
浏览器返回的请求信息中,header变成了
:authority:koss.nocorp.me :method:OPTIONS :path:/?a=1 :scheme:https accept:*/* accept-encoding:gzip, deflate, br accept-language:zh-CN,zh;q=0.8access-control-request-headers:bbbbbbbbbbb access-control-request-method:GET origin:http://localhost:3333 referer:http://localhost:3333/ user-agent:Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36
而该次请求的Request Method也变成了OPTION,不论是生成的奇怪请求头,还是OPTION方法,都是没有遇见过的。
这次请求与平时开发中发送的请求有以下几点不同
1.该次请求对象网站是跨域地址
2.本次请求添加的请求头服务端不会获取
遂根据浏览器返回的请求信息字段名进行查询,查询得知
access-control-request-headers:bbbbbbbbbbb access-control-request-method:GET
名为预检头,是CORS请求中用于向服务端发送请求时获取准许的一个步骤。服务端的回应主要在Response 中的Access-Control-Allow-Origin字段体现。
具体相关信息可以查阅MDN:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Access_control_CORS
以上这篇浅谈在fetch方法中添加header后遇到的预检请求问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章推荐
- Exchange 2013 为DAG添加成员服务器,遇到的几个问题解决方法 推荐
- 由于扩展配置问题而无法提供您请求的页面...请添加 MIME 映射.--解决方法
- 做ssl通道时遇到“请求被中止: 未能创建 SSL/TLS 安全通道”问题的解决方法
- 在适配器的构造方法添加假数据,然后请求数据后listview等的图片显示不完整,刷新之后才显示的问题。
- 使用Android-PullToRefresh库中的PullToRefreshListView添加header时遇到的问题
- 在sps中遇到“不能添加用户,用户名已经存在”的问题的解决方法
- iOS 网络请求框架MKNetworkKit使用方法(欢迎提建议和分享遇到的问题)
- js:在对象的某方法中添加监听时遇到的问题
- Swift 为Array添加remove方法遇到的问题
- 远程跨域请求方法及其中遇到的问题
- 使用session时候,遇到的一个问题(请求解决方法)
- 遇到问题---web访问超长时间操作请求时方法会自动运行两次--nginx自动重试导致的post提交两次
- myeclise添加javascript插件aptana方法及遇到问题的解决
- 为安卓应用添加手势密码功能,遇到的一些问题以及解决方法
- 在wireshark里添加新的dissector遇到的问题及解决方法
- 项目中遇到的问题与解决方法——持续添加
- Spring MVC 请求路径遇到的302问题的解决方法
- 安卓添加事件遇到的一个问题以及他的解决方法
- PHP中$_GET与Header方法可能遇到的问题
- iOS 网络请求框架AFNetworking使用方法(欢迎提建议和分享遇到的问题)