vue --- axios發post請求后台接收不到參數的三種解決方案


最近用vue  做項目使用axios 發送post 請求時遇到了前端傳數據后端接收不到的情況:

 

后來仔細對比發現axios傳值是這樣的:

而 ajax 傳值是這樣的:

一個 Request Payload ,  一個Form data.

將Request payload 轉為 from data 格式就可以了。有四種方式:

一:使用qs(推薦)

首先在你的項目里安裝qs 模塊。

npm install qs --save-dev

然后在需要使用的頁面引入一下:

import qs from 'qs'

引入好了之后,把上面的postData用qs轉一下再發送給后台就可以了:

let postData = qs.stringify({
        certificationAccount: that.certificationAccount,
        balance: that.balance
})

這樣發送給后台時就是Format Data格式了。

二:使用URLSearchParams ;

let postData= new URLSearchParams()
postData.append('certificationAccount',  that.certificationAccount)
postData.append('balance',  that.balance)

這樣也可以,個人覺得寫起來麻煩。

三、直接使用字符串

let postData ='certificationAccount =' + that.certificationAccount + '&balance=' + that.balance

 es6寫法:

let postData = `
          certificationAccount = ${that.certificationAccount}&balance=${that.balance}
`

 四:JSON.stringify()


免責聲明!

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



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