原因: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>