浅谈在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 相关文章推荐
js获取浏览器的可视区域尺寸的实现代码
Nov 30 Javascript
javascript写的异步加载js文件函数(支持数组传参)
Jun 07 Javascript
在JavaScript中使用NaN值的方法
Jun 05 Javascript
详解JavaScript中的forEach()方法的使用
Jun 08 Javascript
JS实现alert中显示换行的方法
Dec 17 Javascript
AngularJS基础 ng-srcset 指令简单示例
Aug 03 Javascript
jQuery插件HighCharts绘制简单2D折线图效果示例【附demo源码】
Mar 21 jQuery
vue+mousemove实现鼠标拖动功能(拖动过快失效问题解决方法)
Aug 24 Javascript
详解js模板引擎art template数组渲染的方法
Oct 09 Javascript
如何用原生js写一个弹窗消息提醒插件
May 24 Javascript
微信小程序中限制激励式视频广告位显示次数(实现思路)
Dec 06 Javascript
JavaScript实现简单拖拽效果
Sep 15 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 防止单引号,双引号在接受页面转义
2008/07/10 PHP
php获取错误信息的方法
2015/07/17 PHP
基于PHP+mysql实现新闻发布系统的开发
2020/08/06 PHP
window.location和document.location的区别分析
2008/12/23 Javascript
jQuery使用ajaxSubmit()提交表单示例
2014/04/04 Javascript
jquery中 $.expr使用实例介绍
2014/06/09 Javascript
Js实现自定义右键行为
2015/03/26 Javascript
JavaScript中数组继承的简单示例
2015/07/29 Javascript
JS+CSS实现精美的二级导航效果代码
2015/09/17 Javascript
Google 地图API资料整理及详细介绍
2016/08/06 Javascript
vue 实现数字滚动增加效果的实例代码
2018/07/06 Javascript
解决vue2 在mounted函数无法获取prop中的变量问题
2018/11/15 Javascript
vue微信分享到朋友圈 vue微信发送给好友
2018/11/28 Javascript
vue基础之data存储数据及v-for循环用法示例
2019/03/08 Javascript
vue响应式更新机制及不使用框架实现简单的数据双向绑定问题
2019/06/27 Javascript
非常实用的jQuery代码段集锦【检测浏览器、滚动、复制、淡入淡出等】
2019/08/08 jQuery
javaScript把其它类型转换为Number类型
2019/10/13 Javascript
javascript 高级语法之继承的基本使用方法示例
2019/11/11 Javascript
基于vue-cli3+typescript的tsx开发模板搭建过程分享
2020/02/28 Javascript
js中调用微信的扫描二维码功能的实现代码
2020/04/11 Javascript
浅谈vue 多个变量同时赋相同值互相影响
2020/08/05 Javascript
[00:18]天涯墨客三技能展示
2018/08/25 DOTA
Python中为什么要用self探讨
2015/04/14 Python
在Python中使用PIL模块处理图像的教程
2015/04/29 Python
如何用Python制作微信好友个性签名词云图
2019/06/28 Python
使用Python制作新型冠状病毒实时疫情图
2020/01/28 Python
Python如何进行时间处理
2020/08/06 Python
Pytorch之Tensor和Numpy之间的转换的实现方法
2020/09/03 Python
css3使网页、图片变成灰色兼容大多数浏览器
2014/07/02 HTML / CSS
汽车维修与检测专业应届生求职信
2013/11/12 职场文书
团组织关系介绍信
2014/01/12 职场文书
聘任书模板
2014/03/29 职场文书
2015年度绩效考核工作总结
2015/05/27 职场文书
搭讪开场白台词大全
2015/05/28 职场文书
python爬虫之利用selenium模块自动登录CSDN
2021/04/22 Python
使用react+redux实现计数器功能及遇到问题
2021/06/02 Javascript