Axios同一請求發送兩次 解決方案(親測可行)

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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章