十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
最近做項(xiàng)目,需要用到vue,后臺(tái)是php,第一次使用axios進(jìn)行請(qǐng)求,本以為同ajax一樣,會(huì)很簡(jiǎn)單,但是結(jié)果往往不讓人滿意啊,get請(qǐng)求很簡(jiǎn)單,這里就不說了,主要說下 post請(qǐng)求方式。

成都創(chuàng)新互聯(lián)公司是一家專注于成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)與策劃設(shè)計(jì),前進(jìn)網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)10多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:前進(jìn)等地區(qū)。前進(jìn)做網(wǎng)站價(jià)格咨詢:028-86922220
使用axios進(jìn)行post請(qǐng)求,后臺(tái)居然接收不到數(shù)據(jù),這就納悶了,于是網(wǎng)上一頓搜索,現(xiàn)在將所用的解決辦法給大家說下:
1.new URLSearchParams方式
起初使用params.append("屬性名":屬性值)的方式,對(duì)于簡(jiǎn)單的數(shù)據(jù)傳遞這樣是沒有問題的,后臺(tái)可以正常接收數(shù)據(jù),但我發(fā)現(xiàn)一個(gè)問題,不知道大家有沒有遇到過,當(dāng)傳遞數(shù)據(jù)里含有數(shù)組時(shí),你會(huì)發(fā)現(xiàn)傳到后臺(tái)的是字符串的形式 arr:a1,b1,c1 而非正常格式 arr:[a1,b1,c1]不符合我的要求,繼續(xù)查找。
2.Qs.stringify方式
看到網(wǎng)上好多解決辦法都在說qs,于是裝了qs插件,使用方法也很簡(jiǎn)單。首先安裝插件,然后注冊(cè)組件,axios.post(url,Qs.stringify(params)),在傳遞參數(shù)前,用qs轉(zhuǎn)換下格式就可以了,Qs是將對(duì)象 序列化成URL的形式,以&進(jìn)行拼接,在后臺(tái)輸出下接收的數(shù)據(jù),嘿有值了,別提有多高興了,剛樂呵沒二分鐘,等會(huì)再認(rèn)真看看,這才發(fā)現(xiàn)當(dāng)數(shù)據(jù)為空時(shí)qs居然給過濾掉了,直接沒傳,這叫一個(gè)傷心。。。
3.改變后臺(tái)接收方式
網(wǎng)上的帖子大部分都是在前端處理,但沒什么太好的解決辦法,于是把思路轉(zhuǎn)到后臺(tái),改變后臺(tái)的接收方式,最終使用file_get_contents('php://input')解決。
以上這篇解決Vue axios post請(qǐng)求,后臺(tái)獲取不到數(shù)據(jù)的問題方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持創(chuàng)新互聯(lián)。