vue.js axios提交表單,php接收不了參數的問題

原因:axios發出的請求的數據格式是json字符串,在調試工具查看請求頭的時候可以看到發送的數據爲Request Payload
兩種解決方法,一種後臺使用json_decode解碼,還有一種是前端使用querystringqs轉換數據格式爲Form Data,這樣後臺就能直接只用$_POST接收參數

方法1:

POST json只能用下面的php代碼接收

$data = json_decode(file_get_contents('php://input'),true);

雖然這樣有些有點不符合常規,有點彆扭。能解決你的問題就好了

方法2:

Axios與Qs必須配合使用,否則後臺會拿不到數據,這樣就能以php常規的獲取的值方式獲取值

CDN引入:

Vue  :  <script src="https://cdn.bootcss.com/vue/2.5.17-beta.0/vue.js"></script>

Axios:<script src="https://unpkg.com/axios/dist/axios.min.js"></script>

Qs:<script src="https://cdn.bootcss.com/qs/6.5.1/qs.min.js"></script>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章