react & vue & angular

vue中使用axios请求post接口,请求会发送两次

2022-08-02  本文已影响0人  李小白呀

在vue中使用axios请求post接口,请求会发送两次


image.png image.png

所有跨域的js在提交post请求的时候,如果服务端设置了可跨域访问都会默认发送两次请求,第一次是预检请求,查询是否支持跨域,第二次才是真正的post提交。JS中出现这个现象原因在于你发送了一个非简单请求。

浏览器分为简单请求以及非简单请求:

跨域请求需要先发一次Option预请求,OPTIONS是检验是否允许跨域的,如果不希望OPTIONS请求, 直接让后端遇到option直接返回就可以了,前端可不做处理。

简单请求:

以下三项必须都成立:

1. 只能是Get、Head、Post方法

2. 除了浏览器自己在Http头上加的信息(如Connection、User-Agent),开发者只能加这几个:Accept、Accept-Language、Content-Type、。。。。

3. Content-Type只能取这几个值:

application/x-www-form-urlencoded
multipart/form-data
text/plain

只有同时满足以上条件时,才是简单请求,否则为非简单请求

上一篇下一篇

猜你喜欢

热点阅读