浅谈在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入门问答 整理的几个常见的初学者问题
Feb 22 Javascript
不同浏览器的怪癖小结
Jul 11 Javascript
js获取html参数及向swf传递参数应用介绍
Feb 18 Javascript
jQuery把表单元素变为json对象
Nov 06 Javascript
javascript实时获取鼠标坐标值并显示的方法
Apr 30 Javascript
Bootstrap被封装的弹层
Jul 20 Javascript
JavaScript 事件流、事件处理程序及事件对象总结
Apr 01 Javascript
Vue实现购物车功能
Apr 27 Javascript
vue动态添加路由addRoutes之不能将动态路由存入缓存的解决
Feb 19 Javascript
webpack 如何解析代码模块路径的实现
Sep 04 Javascript
Vue父组件监听子组件生命周期
Sep 03 Javascript
JavaScript实现切换多张图片
Jan 27 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中自定义函数dump查看数组信息类似var_dump
2014/01/27 PHP
php+mysql结合Ajax实现点赞功能完整实例
2015/01/30 PHP
Symfony核心类概述
2016/03/17 PHP
Yii2 输出xml格式数据的方法
2016/05/03 PHP
PHPExcel中文帮助手册|PHPExcel使用方法(分享)
2017/06/09 PHP
在Javascript中为String对象添加trim,ltrim,rtrim方法
2006/09/22 Javascript
用js生产批量批处理执行命令
2008/07/28 Javascript
jquery 图片Silhouette Fadeins渐显效果
2010/02/07 Javascript
AJAX使用了UpdatePanel后无法使用alert弹出脚本
2010/04/02 Javascript
各情景下元素宽高的获取实现代码
2011/09/13 Javascript
jQuery实现切换页面布局使用介绍
2011/10/09 Javascript
jquery ajax修改全局变量示例代码
2013/11/08 Javascript
js中Math之random,round,ceil,floor的用法总结
2013/12/26 Javascript
Vue 固定头 固定列 点击表头可排序的表格组件
2016/11/25 Javascript
谈谈因Vue.js引发关于getter和setter的思考
2016/12/02 Javascript
JavaScript仿支付宝6位数字密码输入框
2016/12/29 Javascript
EsLint入门学习教程
2017/02/17 Javascript
js实现文字跑马灯效果
2017/02/23 Javascript
Vue实现购物车场景下的应用
2017/11/27 Javascript
Vue实现一个图片懒加载插件
2019/03/11 Javascript
vue 实现通过vuex 存储值 在不同界面使用
2019/11/11 Javascript
[02:02]DOTA2英雄基础教程 斯拉达
2013/12/11 DOTA
[40:13]Ti4 冒泡赛第二天 iG vs NEWBEE 2
2014/07/15 DOTA
[53:15]2018DOTA2亚洲邀请赛3月29日 小组赛A组 KG VS OG
2018/03/30 DOTA
让python在hadoop上跑起来
2016/01/27 Python
Python文件操作基本流程代码实例
2017/12/11 Python
基于python实现简单日历
2018/07/28 Python
python实现一个函数版的名片管理系统过程解析
2019/08/27 Python
python输出数组中指定元素的所有索引示例
2019/12/06 Python
python对Excel的读取的示例代码
2020/02/14 Python
基于Python爬取素材网站音频文件
2020/10/21 Python
Django模板报TemplateDoesNotExist异常(亲测可行)
2020/12/18 Python
2014年高三毕业生自我评价
2014/01/11 职场文书
学生拾金不昧表扬信
2014/01/21 职场文书
公务员年度个人总结
2015/02/12 职场文书
运动会新闻报道稿
2015/07/22 职场文书