用vue-element-admin框架開發后台管理頁面時,遇到post請求中帶的數據,到了服務端所有數據類型都變成了字符串,導致類型驗證失敗。
排查時,已經打印了到了底層的位置了,這個時候數據類型還是正確的,沒有頭緒。
查看瀏覽器中的network列,看下具體的情況:
可以看到在瀏覽器中的請求信息,method明明是Post,但是URL中,還帶有類似get請求的參數格式,url+?+params,
問題應該就是出在這,post請求的數據變成了get參數格式,導致全部變成了字符串類型。
想到之前另一個post接口是正常的,因此對比了下兩個接口的代碼:
破案了- -!
直接復制的get請求的代碼,get請求中的參數字段是params,post請求的參數字段是data,這應該是axios封裝所需的,光改了method,沒有改參數字段名稱,導致此次問題的出現。
調整為:
{
method: 'post'
data: data
}