当前位置: 移动技术网 > IT编程>开发语言>JavaScript > 浅谈在fetch方法中添加header后遇到的预检请求问题

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

2017年12月12日  | 移动技术网IT编程  | 我要评论

今天在使用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后遇到的预检请求问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持移动技术网。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网