原因:axios
發出的請求的數據格式是json字符串
,在調試工具查看請求頭的時候可以看到發送的數據爲Request Payload
兩種解決方法,一種後臺使用json_decode
解碼,還有一種是前端使用querystring
或qs
轉換數據格式爲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>