axios使用FormData 發送post請求

預備知識:

post提交數據的四種編碼方式

1.application/x-www-form-urlencoded
傳表單格式
鍵值對。

2.multipart/form-data
能傳文件,不僅僅是表單數據
這也是一種比較常見的post數據格式,我們用表單上傳文件時,必須使form表單的enctype屬性或者ajax的contentType參數等於multipart/form-data。使用這種編碼格式時發送到後臺的數據長得像這樣子
在這裏插入圖片描述
我把值json.Stringify(val)了。
演示下,如果需要用post發送formdata格式的數據該如何配置。背景是因爲我們要上傳一個超長的數組。
在封裝好axios請求也就是寫好了請求攔截器後,在api文件中這樣封裝
在這裏插入圖片描述
使用時這樣

let param = new FormData(); //創建form對象
              param.append('chatRecord',JSON.stringify(this.msgList));//你要傳的鍵名,值 因爲我要傳一個數組 所以先轉換成json字符串
			commitChat(this.consultId,param).then(res=>{
				console.log(res.data)
			})

如果沒有封裝,直接寫,可以參考下面的寫法:
日後有空補充,反正和封裝的差不多
3.application / json
如果使用這種編碼方式,那麼傳遞到後臺的將是序列化後的json 字符串。我們可以將application / json與application / x-www-form-urlencoded發送的數據進行比較

4.text/xml
傳純粹的文本,就是字符串。
剩下的一種編碼格式是text/xml,這種格式我沒有怎麼使用過

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章