axios的各種post提交方式總結


先創建一個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
});


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM