天天看點

axios post php擷取不到,解決Vue axios post請求,背景擷取不到資料的問題方法

最近做項目,需要用到vue,背景是php,第一次使用axios進行請求,本以為同ajax一樣,會很簡單,但是結果往往不讓人滿意啊,get請求很簡單,這裡就不說了,主要說下 post請求方式。

使用axios進行post請求,背景居然接收不到資料,這就納悶了,于是網上一頓搜尋,現在将所用的解決辦法給大家說下:

1.new URLSearchParams方式

起初使用params.append("屬性名":屬性值)的方式,對于簡單的資料傳遞這樣是沒有問題的,背景可以正常接收資料,但我發現一個問題,不知道大家有沒有遇到過,當傳遞資料裡含有數組時,你會發現傳到背景的是字元串的形式 arr:a1,b1,c1 而非正常格式 arr:[a1,b1,c1]不符合我的要求,繼續查找。

2.Qs.stringify方式

看到網上好多解決辦法都在說qs,于是裝了qs插件,使用方法也很簡單。首先安裝插件,然後注冊元件,axios.post(url,Qs.stringify(params)),在傳遞參數前,用qs轉換下格式就可以了,Qs是将對象 序列化成URL的形式,以&進行拼接,在背景輸出下接收的資料,嘿有值了,别提有多高興了,剛樂呵沒二分鐘,等會再認真看看,這才發現當資料為空時qs居然給過濾掉了,直接沒傳,這叫一個傷心。。。

3.改變背景接收方式

網上的文章大部分都是在前端處理,但沒什麼太好的解決辦法,于是把思路轉到背景,改變背景的接收方式,最終使用file_get_contents('php://input')解決。

以上這篇解決Vue axios post請求,背景擷取不到資料的問題方法就是小編分享給大家的全部内容了,希望能給大家一個參考,也希望大家多多支援腳本之家。