Axios同一请求发送两次
问题出现原因:Axios默认的Content-Type为application/json,属于非简单请求,所以客户端在发送请求时,会先发送预请求(OPTIONS),询问能否向后端发送请求。若能发送,则再发送真正的请求到后端。
解决方案:手动更改Axios默认的请求方式,让其变为简单请求,在相关的axios.js文件中,添加如下配置即可。(后端请使用:@RequestParam接收参数)
import Axios from 'axios'
import Qs from 'qs'
Axios.defaults.headers['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8'
Axios.defaults.transformRequest = [obj => Qs.stringify(obj)]
哪些请求属于简单请求?(只有同时满足以下两个条件时,才是简单请求,除此之外皆为非简单请求)
* 请求方式:HEAD,GET,POST
* 请求头信息: Accept Accept-Language Content-Language Last-Event-ID Content-Type 对应的值是以下三个中的任意一个 application/x-www-form-urlencoded multipart/form-data text/plain
因篇幅问题不能全部显示,请点此查看更多更全内容