1、Content-Type: application/json
import axios from 'axios' let data = {"code":"1234","name":"yyyy"}; axios.post(`${this.$url}/test/testRequest`,data) .then(res=>{ console.log('res=>',res); })
2、Content-Type: multipart/form-data
import axios from 'axios' let data = new FormData(); data.append('code','1234'); data.append('name','yyyy'); axios.post(`${this.$url}/test/testRequest`,data) .then(res=>{ console.log('res=>',res); })
3、Content-Type: application/x-www-form-urlencoded
而在使用POST
時對應的傳參使用的是data
,data
是作為請求體發送的,同樣使用這種形式的還有PUT
,PATCH
等請求方式。有一點需要注意的是,axios
中POST
的默認請求體類型為Content-Type:application/json
(JSON規范流行),這也是最常見的請求體類型,也就是說使用的是序列化后的json
格式字符串來傳遞參數,如:{ "name" : "mike", "sex" : "male" }
;同時,后台必須要以支持@RequestBody
的形式接收參數,否則會出現前台傳參正確,后台接收不到的情況。
如果想要設置類型為Content-Type:application/x-www-form-urlencoded
(瀏覽器原生支持),可以用qs
這個庫來格式化數據。默認情況下在安裝完axios后就可以使用qs
庫。
import axios from 'axios' import qs from 'Qs' let data = {"code":"1234","name":"yyyy"}; axios.post(`${this.$url}/test/testRequest`,qs.stringify({ data })) .then(res=>{ console.log('res=>',res); })