浅谈在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 相关文章推荐
你真的了解JavaScript吗?
Feb 24 Javascript
javascript实现的鼠标链接提示效果生成器代码
Jun 28 Javascript
用 Javascript 验证表单(form)中多选框(checkbox)值
Sep 08 Javascript
JavaScript Object的extend是一个常用的功能
Dec 02 Javascript
iframe 异步加载技术及性能分析
Jul 19 Javascript
禁止拷贝网页内容的js代码
Jan 22 Javascript
Ajax请求在数据量大的时候出现超时的解决方法
Feb 27 Javascript
简单的jQuery入门指引
Jul 28 Javascript
微信+angularJS的SPA应用中用router进行页面跳转,jssdk校验失败问题解决
Sep 09 Javascript
详解Vue如何支持JSX语法
Nov 10 Javascript
JS+HTML实现的圆形可点击区域示例【3种方法】
Aug 01 Javascript
Vue实现小购物车功能
Dec 21 Vue.js
浅谈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 数组的创建、调用和更新实现代码
2009/03/09 PHP
适用于抽奖程序、随机广告的PHP概率算法实例
2014/04/09 PHP
ThinkPHP框架安全实现分析
2016/03/14 PHP
javascript Array.remove() 数组删除
2009/08/06 Javascript
jquery的相对父元素和相对文档定位示例代码
2013/08/02 Javascript
jQuery学习笔记之jQuery构建函数的7种方法
2014/06/03 Javascript
nodejs实现的一个简单聊天室功能分享
2014/12/06 NodeJs
js使用Array.prototype.sort()对数组对象排序的方法
2015/01/28 Javascript
jQuery幻灯片带缩略图轮播效果代码分享
2015/08/17 Javascript
JS简单实现String转Date的方法
2016/03/02 Javascript
[原创]Bootstrap 中下拉菜单修改成鼠标悬停直接显示
2016/04/14 Javascript
jQuery webuploader分片上传大文件
2016/11/07 Javascript
JavaScript常用正则验证函数实例小结【年龄,数字,Email,手机,URL,日期等】
2017/01/23 Javascript
angular2+nodejs实现图片上传功能
2017/03/27 NodeJs
vue 使用Jade模板写html,stylus写css的方法
2018/02/23 Javascript
Node.JS循环删除非空文件夹及子目录下的所有文件
2018/03/12 Javascript
详解promise.then,process.nextTick, setTimeout 以及 setImmediate的执行顺序
2018/11/21 Javascript
详解vue项目中使用token的身份验证的简单实践
2019/03/08 Javascript
JS阻止事件冒泡的方法详解
2019/08/26 Javascript
vue中通过使用$attrs实现组件之间的数据传递功能
2019/09/01 Javascript
[00:59]DOTA2背景故事第二期之四大基本法则
2020/07/07 DOTA
Linux下编译安装MySQL-Python教程
2015/02/02 Python
简单讲解Python编程中namedtuple类的用法
2016/06/21 Python
python数据类型_字符串常用操作(详解)
2017/05/30 Python
使用XML库的方式,实现RPC通信的方法(推荐)
2017/06/14 Python
selenium+python自动化测试之鼠标和键盘事件
2019/01/23 Python
Python异步操作MySQL示例【使用aiomysql】
2019/05/16 Python
TensorFlow实现打印每一层的输出
2020/01/21 Python
函授毕业自我鉴定
2013/12/19 职场文书
兰兰过桥教学反思
2014/02/08 职场文书
学习方法演讲稿
2014/05/10 职场文书
幼儿园小班个人工作总结
2015/02/12 职场文书
小学科学课教学反思
2016/02/23 职场文书
python 如何获取页面所有a标签下href的值
2021/05/06 Python
Django集成富文本编辑器summernote的实现步骤
2021/05/31 Python
Java 超详细讲解十大排序算法面试无忧
2022/04/08 Java/Android