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>

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