先創建一個axios的通用對象
const request = axios.create({
timeout: 10000
});
第一種提交form表單數據,后台正常用對象接收
let fm = new FormData();
fm.append("id",1);
fm.append("name","測試");
//提交數據
request({
url:'/api/xxx',
method:'post',
data:fm//注意這里要使用data,如果需要在url上面拼接參數則需要使用param
});
第二種向restful接口提交數據,后台使用@RequestBody接收參數
let person = {
id:1,
name:'張三'
};
request({
url:'/api/yyy',
method:'post',
data:person//注意這里不需要轉成json字符串,axios會自動識別該數據是form表單數據還是對象數據
});
第三種向普通接口發送js對象數據,前台需要轉換一下,這些數據會當作表單數據提交(類似於第一種,但是這里不傳formdata對象)
此種情況需要引入一個qs包用於拼接數據
import qs from 'qs';//如果沒有安裝qs包請使用 `npm install qs -D`進行安裝
let person = {
id:1,
name:'張三'
};
request({
url:'/api/yyy',
method:'post',
data:qs.stringify(person)//注意這里不能使用JSON.stringify,因為會將js對象轉換成了json字符串。而qs.stringify類似於參數拼接a=xxx&b=xxx
});