消息关闭
    暂无新消息!

axios添加了header信息后发送的get请求自动编程option请求了,为什么???
原来是

axios.get(`http://***/api/v1/public/homepage`, {params: params})

加上header后

axios.get(`http://***/api/v1/public/homepage`, {params: params,headers:{"sn":"201021622343"}})

但是请求从get变成了options
之前:

之后:


5个回答

︿ 3

options 是去问是否支持 sn 这个 header,因此服务器端除了要跨域头之外还要允许的 header 头吧

︿ 0

这应当是跨域问题。浏览器自动在跨域的 GET 请求发送之前发送一个 OPTIONS 请求,以判断服务端是否允许这一域访问。可查看 axios 的 CORS 相关文档。

︿ 0

options叫通讯员
通讯员跑到对方问可不可以派人来送信息了,回答不行,就中断!
回答可以,就排post兵前来送货!

不废话了:http://www.ruanyifeng.com/blo...

我记得sf前几天还推送过,你肯定没注意看

︿ 0

如果你是跨域请求,服务端返回响应时需要添加headers: Access-Control-Allow-Origin: *

express:


    // Website you wish to allow to connect
    res.setHeader('Access-Control-Allow-Origin', '*');
    // Request methods you wish to allow
    res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');
    // Request headers you wish to allow
    res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type');
    // Set to true if you need the website to include cookies in the requests sent
    // to the API (e.g. in case you use sessions)
    res.setHeader('Access-Control-Allow-Credentials', true);