浅谈在fetch方法中添加header后遇到的预检请求问题


Posted in Javascript onAugust 31, 2017

今天在使用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.8
access-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后遇到的预检请求问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
基于jquery编写的横向自适应幻灯片切换特效的实例代码
Aug 06 Javascript
JSON字符串转JSON对象
Jul 31 Javascript
GitHub上一些实用的JavaScript的文件压缩解压缩库推荐
Mar 13 Javascript
js弹出窗口返回值的简单实例
May 28 Javascript
AngularJS 遇到的小坑与技巧小结
Jun 07 Javascript
微信小程序 地图map详解及简单实例
Jan 10 Javascript
JavaScript之filter_动力节点Java学院整理
Jun 28 Javascript
详解vue-cli脚手架中webpack配置方法
Aug 22 Javascript
浅析webpack-bundle-analyzer在vue-cli3中的使用
Oct 23 Javascript
Vue实现导航栏的显示开关控制
Nov 01 Javascript
详解JavaScript中new操作符的解析和实现
Sep 04 Javascript
详解JavaScript类型判断的四种方法
Oct 21 Javascript
浅谈vue的踩坑路
Aug 31 #Javascript
对存在JavaScript隐式类型转换的四种情况的总结(必看篇)
Aug 31 #Javascript
[js高手之路]HTML标签解释成DOM节点的实现方法
Aug 31 #Javascript
基于JSON数据格式详解
Aug 31 #Javascript
浅谈js中的this问题
Aug 31 #Javascript
js实现图片放大展示效果
Aug 30 #Javascript
详解js几个绕不开的事件兼容写法
Aug 30 #Javascript
You might like
php 验证码实例代码
2010/06/01 PHP
基于simple_html_dom的使用小结
2013/07/01 PHP
PHP session_start()问题解疑(详细介绍)
2013/07/05 PHP
PHP输出英文时间日期的安全方法(RFC 1123格式)
2014/06/13 PHP
Javascript 网页水印(非图片水印)实现代码
2010/03/01 Javascript
基于Jquery的跨域传输数据(JSONP)
2011/03/10 Javascript
javascript是怎么继承的介绍
2012/01/05 Javascript
jquery 按钮状态效果 正常、移上、按下
2013/08/12 Javascript
thinkphp中常用的系统常量和系统变量
2014/03/05 Javascript
JavaScript实现搜索框的自动完成功能(一)
2016/02/25 Javascript
js+css实现select的美化效果
2016/03/24 Javascript
把普通对象转换成json格式的对象的简单实例
2016/07/04 Javascript
详解利用exif.js解决ios手机上传竖拍照片旋转90度问题
2016/11/04 Javascript
bootstrap datetimepicker实现秒钟选择下拉框
2017/01/05 Javascript
BOM之navigator对象和用户代理检测
2017/02/10 Javascript
从零学习node.js之利用express搭建简易论坛(七)
2017/02/25 Javascript
详解使用angularjs的ng-options时如何设置默认值(初始值)
2017/07/18 Javascript
史上最为详细的javascript继承(推荐)
2019/05/18 Javascript
基于Vue实现微前端的示例代码
2020/04/24 Javascript
微信小程序实现登录注册功能
2020/12/29 Javascript
使用Python下载Bing图片(代码)
2013/11/07 Python
Python pickle模块用法实例
2015/04/14 Python
Python3 适合初学者学习的银行账户登录系统实例
2017/08/08 Python
python opencv 批量改变图片的尺寸大小的方法
2019/06/28 Python
python+opencv像素的加减和加权操作的实现
2019/07/14 Python
python Jupyter运行时间实例过程解析
2019/12/13 Python
Python通过Tesseract库实现文字识别
2020/03/05 Python
python3安装OCR识别库tesserocr过程图解
2020/04/02 Python
Python分类测试代码实例汇总
2020/07/23 Python
举例详解HTML5中使用JSON格式提交表单
2015/06/16 HTML / CSS
园林设计师自荐信
2013/11/18 职场文书
大学生党校培训心得体会
2014/09/11 职场文书
2015年安全生产月活动总结
2015/03/26 职场文书
2015年度团总支工作总结
2015/04/23 职场文书
Python列表删除重复元素与图像相似度判断及删除实例代码
2021/05/07 Python
laravel添加角色和模糊搜索功能的实现代码
2021/06/22 PHP