在vue項(xiàng)目中使用axios發(fā)送post請(qǐng)求出現(xiàn)400錯(cuò)誤的解決
使用axios發(fā)送post請(qǐng)求出現(xiàn)400錯(cuò)誤
出現(xiàn)400狀態(tài)碼主要有兩種原因
1.bad request:“錯(cuò)誤的請(qǐng)求"
2.invalid hostname:"不存在的域名”
我報(bào)的錯(cuò)是第一種bad request
總結(jié)了錯(cuò)誤的幾個(gè)原因
1.請(qǐng)求頭錯(cuò)誤,前端請(qǐng)求頭的content-type和后端不一致
axios默認(rèn)的請(qǐng)求頭的格式是:applecation/json,后端可能是application/x-www-form-urlencoded
解決:改請(qǐng)求頭
2.參數(shù)傳遞錯(cuò)誤
前端提交的數(shù)據(jù)的字段名稱或者字段類型和后端的實(shí)體類不一致,導(dǎo)致無法封裝
解決:對(duì)照字段名稱、類型與后端需要的保持一致
3.前后端數(shù)據(jù)格式不一致
前端提交到后臺(tái)的數(shù)據(jù)應(yīng)該是json字符串類型,而前端沒有將對(duì)象轉(zhuǎn)換成字符串類型
解決:使用JSON.stringify()將前端傳遞的對(duì)象轉(zhuǎn)換為字符串
我的問題:
后端說只需要傳data和name,結(jié)果我看接口文檔里不止data和name,他說只需要data和name我就只傳了data和name,結(jié)果果然需要把接口文檔里所有的數(shù)據(jù)都傳過去才行。
還有一點(diǎn)是后端需要data傳JSON字符串,所以需要把對(duì)象轉(zhuǎn)換為JSON字符串。
修改完之后就跑通啦。
vue axios400 Bad Request問題
這個(gè)是我要傳的對(duì)象
導(dǎo)出的方法
在組件中用到導(dǎo)出的方法,并傳參
后臺(tái)controller層的方法
報(bào)的400錯(cuò)誤和后臺(tái)控制套臺(tái)的顯示
這里說下什么是400錯(cuò)誤,400問題,最大幾率是出現(xiàn)了數(shù)據(jù)類型不一致的問題,這里我前端傳的是一個(gè)json套json,但是我后臺(tái)收的話,應(yīng)該也是json套json。
我最大的錯(cuò)誤就是沒有好好去了解axios的data和params,這里補(bǔ)充下:
axios中,params和data
因?yàn)閜arams是添加到url的請(qǐng)求字符串中的,用于get請(qǐng)求。
而data是添加到請(qǐng)求體(body)中的, 用于post請(qǐng)求。
我在post里面用的params,后面改成data來傳就對(duì)勁了。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
vuex(vue狀態(tài)管理)的特殊應(yīng)用案例分享
Vuex 是一個(gè)專為 Vue.js 應(yīng)用程序開發(fā)的狀態(tài)管理模式。它采用集中式存儲(chǔ)管理應(yīng)用的所有組件的狀態(tài),并以相應(yīng)的規(guī)則保證狀態(tài)以一種可預(yù)測(cè)的方式發(fā)生變化。2020-03-03vue數(shù)據(jù)監(jiān)聽解析Object.defineProperty與Proxy區(qū)別
這篇文章主要為大家介紹了vue數(shù)據(jù)監(jiān)聽解析Object.defineProperty Proxy源碼示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03iview table render集成switch開關(guān)的實(shí)例
下面小編就為大家分享一篇iview table render集成switch開關(guān)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-03-03VSCode創(chuàng)建Vue項(xiàng)目的完整步驟教程
Vue是一個(gè)輕量級(jí)、漸進(jìn)式的Javascript框架,如果想要要開發(fā)全新的Vue項(xiàng)目,建議項(xiàng)目構(gòu)建工具vue-cli,下面這篇文章主要給大家介紹了關(guān)于VSCode創(chuàng)建Vue項(xiàng)目的完整步驟,需要的朋友可以參考下2022-06-06Vue使用自定義指令實(shí)現(xiàn)拖拽行為實(shí)例分析
這篇文章主要介紹了Vue使用自定義指令實(shí)現(xiàn)拖拽行為,結(jié)合實(shí)例形式分析了Vue使用自定義指令實(shí)現(xiàn)拖拽行為具體步驟、原理與操作注意事項(xiàng),需要的朋友可以參考下2020-06-06Vue動(dòng)態(tài)獲取數(shù)據(jù)后控件不可編輯問題
這篇文章主要介紹了Vue動(dòng)態(tài)獲取數(shù)據(jù)后控件不可編輯問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-04-04vue.js項(xiàng)目 el-input 組件 監(jiān)聽回車鍵實(shí)現(xiàn)搜索功能示例
今天小編就為大家分享一篇vue.js項(xiàng)目 el-input 組件 監(jiān)聽回車鍵實(shí)現(xiàn)搜索功能示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-08-08