一、項(xiàng)目情形
現(xiàn)在vue項(xiàng)目中,一般使用axios發(fā)送請(qǐng)求去后臺(tái)拉取數(shù)據(jù)。
在某些業(yè)務(wù)場(chǎng)景中,前端需要在某個(gè)字段中發(fā)送一個(gè)復(fù)雜的嵌套對(duì)象給后臺(tái)做保存并處理。雖然axios可配置發(fā)送方式(post/get等),但如果不做其他配置,post的數(shù)據(jù)其實(shí)也是拼在請(qǐng)求地址后面,而這種傳輸方式會(huì)有很多問(wèn)題:一是可能數(shù)據(jù)丟失,二是get傳送的數(shù)據(jù)長(zhǎng)度有l(wèi)imit,如果需要保存大段的中文,會(huì)報(bào)錯(cuò);三是數(shù)據(jù)不直觀,復(fù)雜對(duì)象的格式會(huì)出現(xiàn)問(wèn)題。
二、解決方案
怎么實(shí)現(xiàn)使用post方法時(shí),能實(shí)現(xiàn)formData方式提交,而且整個(gè)請(qǐng)求數(shù)據(jù)格式能像queryString一樣直觀。
使用QS將數(shù)據(jù)序列化
//main.js import axios from 'axios'; Vue.prototype.$axios = axios; // 配置axios的訪問(wèn)方式 //demo.vue import Qs from qs; this.$axios({ method: "post", url: "url", data: reqData, transformRequest: [ function(data){ return Qs.stringify(data) //使用Qs將請(qǐng)求參數(shù)序列化 }], headers: { 'Content-Type': 'application/x-www-form-urlencoded' //必須設(shè)置傳輸方式 } }).then((res)=>{ //邏輯代碼 }
分享名稱:vueaxiospost發(fā)送復(fù)雜對(duì)象問(wèn)題-創(chuàng)新互聯(lián)
瀏覽路徑:http://www.rwnh.cn/article0/cchgio.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、手機(jī)網(wǎng)站建設(shè)、軟件開發(fā)、關(guān)鍵詞優(yōu)化、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容