使用vue3,連基本的請求都失敗了,使用瀏覽器查看post請求,參數(shù)中是有值,但是傳到后臺,每個參數(shù)都是null,不知道哪里錯了。排除了后臺的錯誤,就剩下了vue代碼的錯誤了。我出錯的地方是vue使用axios發(fā)送post請求的時候,參數(shù)格式寫錯了。
直接貼代碼了,正確的寫法
axios.post(url, this.form).then(后面省略)
form是表單,這個不需要多解釋了,里面有若干屬性。
正確寫法,post請求在瀏覽器顯示的傳參格式是:
{
"prop1": "value",
"prop2": "value",
"prop3": "value",
"prop4": "value",
"prop5": "value",
"prop6": "value",
"prop7": "value"
}
下面是錯誤的寫法,
axios.post(url, data{
form:this.form
}).then(后面省略)
錯誤的傳參,顯示的參數(shù)格式是:
form: {
"prop1": "value",
"prop2": "value",
"prop3": "value",
"prop4": "value",
"prop5": "value",
"prop6": "value",
"prop7": "value"
}
第二次出現(xiàn)這種錯誤了,因為好久沒用vue了。我也百度了,看了許許多多的解決方法,使用qs格式化參數(shù),等等等的,估計也是能夠解決的,但是直接看源代碼比較好,我也把vue3 axios post源碼貼出來
post<T = any, R = AxiosResponse<T>, D = any>(url: string, data?: D, config?: AxiosRequestConfig<D>): Promise<R>;
真正的參數(shù)位置直接看文章來源:http://www.zghlxwxcb.cn/news/detail-541412.html
(url: string, data?: D, config?: AxiosRequestConfig<D>)
直接就是post(url, data(比如this.form)),如果寫post(URL,data{a:this.a}),那后臺就得在請求實體里加一個實體類作為請求實體的屬性,方能接收到這些參數(shù),不至于將這些參數(shù)棄置。文章來源地址http://www.zghlxwxcb.cn/news/detail-541412.html
到了這里,關(guān)于vue3使用axios發(fā)送post請求,后臺接收到的參數(shù)總是null,使用postman測試后臺是能接收數(shù)據(jù)的的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!