ios请求头解决参数中文乱码_花了一天时间就解决了一个的请求头传参参数格式bug...
一天的時(shí)間就解決了一個(gè)bug就這么過(guò)去了,但不能讓他就這么過(guò)去了,加班要加的有價(jià)值,所以現(xiàn)在記錄一下這一天的經(jīng)歷,以防下次再踩坑
大致說(shuō)下我的情況,入坑的不久的前端新手,在做一個(gè)項(xiàng)目的重構(gòu),用的框架式vue。對(duì)自己不是很自信,所以出了bug總會(huì)以為是自己的問(wèn)題,首先會(huì)找自己原因,更別說(shuō)在和一個(gè)工作好幾年的后端和合作的時(shí)候。
事情是這樣的,和后端聯(lián)調(diào)一個(gè)接口,報(bào)了500的錯(cuò)誤,完事,服務(wù)器錯(cuò)誤,扔給后端解決就好了,后端改了一會(huì)之后說(shuō)好了,然后我就試了下還是500,然后后端一個(gè)截圖扔過(guò)來(lái),他自己用postman調(diào)通了,但是我這調(diào)還是500(向后端確認(rèn)問(wèn)題說(shuō)我參數(shù)沒(méi)有傳過(guò)去,后確認(rèn)了傳參方式?jīng)]錯(cuò),甚至在請(qǐng)求頭和body都傳了參數(shù)了)~ 我這就懵了,傳的參數(shù)跟調(diào)用時(shí)傳后端一模一樣,為什么我就不行呢,調(diào)的是同一個(gè)接口,傳參的方式?jīng)]錯(cuò)(甚至在請(qǐng)求頭和body都傳了參數(shù)了,不管他用@requestParam還是@requestBody應(yīng)該都能接收到參數(shù)),但是他就是接收不到我的參數(shù)
百思不得其解之際,后端給了個(gè)之前項(xiàng)目的測(cè)試地址,說(shuō)他的接口都沒(méi)有變,以前的就能調(diào)通,我咋就調(diào)不通呢,我真的是陷入了對(duì)自己深深的懷疑,然后就逐行對(duì)比,發(fā)現(xiàn)是請(qǐng)求頭的參數(shù)格式不一致導(dǎo)致的。
我的請(qǐng)求頭content-type: application/json
而后端扔的圖片請(qǐng)求頭Content-Type:application/x-www-form-urlencoded
遂找原因,原來(lái)vue+axios默認(rèn)請(qǐng)求頭就是json格式的,找到原因那就好改了,改下請(qǐng)求頭應(yīng)該就好使了
return axios({
url: '',
method: 'POST',
data: param,
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
})
完事之后再對(duì)比下參數(shù)格式,后端給的圖片是json格式的,而axios的qs包自動(dòng)將參數(shù)轉(zhuǎn)為了string格式,那簡(jiǎn)單,再轉(zhuǎn)回來(lái)就好了
function saveRecruit (parameter) {
const param = new URLSearchParams()
for (const key in parameter) {
if (parameter[key]) param.append(key, parameter[key])
}
return axios({
url: '',
method: 'POST',
data: param,
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
})
}
至此,再調(diào)接口,終于返回200了~~
舒服~~~~
事后也不想指責(zé)后端改了請(qǐng)求頭也不說(shuō)一下,就直接讓我解決問(wèn)題,只想說(shuō)還是自己積累太少了,不能立馬發(fā)現(xiàn)問(wèn)題,愿自己盡快成長(zhǎng)!!!
總結(jié)
以上是生活随笔為你收集整理的ios请求头解决参数中文乱码_花了一天时间就解决了一个的请求头传参参数格式bug...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: linux mint 图标主题_如何在
- 下一篇: tensorflow计算网络占用内存_详