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