浅谈在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 相关文章推荐
判断多个input type=file是否有已经选择好文件的代码
May 23 Javascript
Jquery焦点图实例代码
Nov 25 Javascript
jQuery使用height()获取高度需要注意的地方
Dec 13 Javascript
jquery预加载图片的方法
May 27 Javascript
【经验总结】编写JavaScript代码时应遵循的14条规律
Jun 20 Javascript
javascript 动态脚本添加的简单方法
Oct 11 Javascript
Vue-resource拦截器判断token失效跳转的实例
Oct 27 Javascript
JavaScript数据结构与算法之二叉树插入节点、生成二叉树示例
Feb 21 Javascript
JavaScript基础之this和箭头函数详析
Sep 05 Javascript
微信小程序实现同时上传多张图片
Feb 03 Javascript
详解Vue 的异常处理机制
Nov 30 Vue.js
原型和原型链 prototype和proto的区别详情
Nov 02 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
Smarty日期时间操作方法示例
2016/11/15 PHP
jquery radio 操作代码
2011/03/16 Javascript
jQuery为iframe的body添加click事件的实现代码
2011/04/07 Javascript
Javascript 面向对象编程(coolshell)
2012/03/18 Javascript
js与jquery获取父元素,删除子元素的两种不同方法
2014/01/09 Javascript
原生javascript实现隔行换色
2015/01/04 Javascript
基于Node.js实现nodemailer邮件发送
2016/01/26 Javascript
Bootstrap页面布局基础知识全面解析
2016/06/13 Javascript
自动适应iframe右边的高度
2016/12/22 Javascript
微信小程序报错:this.setData is not a function的解决办法
2017/09/27 Javascript
在vue2.0中引用element-ui组件库的方法
2018/06/21 Javascript
基于Nodejs的Tcp封包和解包的理解
2018/09/19 NodeJs
Vue.js 中的 v-cloak 指令及使用详解
2018/11/19 Javascript
JavaScript使用ul中li标签实现删除效果
2019/04/15 Javascript
小程序跳转H5页面的方法步骤
2020/03/06 Javascript
Python实现爬取知乎神回复简单爬虫代码分享
2015/01/04 Python
python基础入门学习笔记(Python环境搭建)
2016/01/13 Python
python中json格式数据输出的简单实现方法
2016/10/31 Python
Python字符串处理实现单词反转
2017/06/14 Python
Python统计一个字符串中每个字符出现了多少次的方法【字符串转换为列表再统计】
2019/05/05 Python
django admin组件使用方法详解
2019/07/19 Python
django 消息框架 message使用详解
2019/07/22 Python
Python响应对象text属性乱码解决方案
2020/03/31 Python
Python持续监听文件变化代码实例
2020/07/22 Python
Burberry英国官网:英国标志性奢侈品牌
2017/03/29 全球购物
捷克浴室和厨房设备购物网站:SIKO
2018/08/11 全球购物
会计自我鉴定
2014/02/04 职场文书
外国人聘用意向书
2014/04/01 职场文书
给校长的建议书500字
2014/05/15 职场文书
2015年电工工作总结
2015/04/10 职场文书
2015年大学辅导员工作总结
2015/05/12 职场文书
优秀志愿者感言
2015/08/01 职场文书
2019最新版试用期劳动合同模板!
2019/07/04 职场文书
导游词之舟山普陀山
2019/11/06 职场文书
Python办公自动化解决world文件批量转换
2021/09/15 Python
vue本地构建热更新卡顿的问题“75 advanced module optimization”完美解决方案
2022/08/05 Vue.js