axios的post请求后台(ThinkPHP5)收不到数据;排除后发现这与axios的post参数格式有关;this.$axios({method:'post',url:url,params:{seller_id:seller_id}}).then((res)=>{})使用axios时需要注意的是,配置选项包括两者params和data,以为是一样的,其实不是。因为在get请求的url的请求字符串中添加了params。并将数据(form-data)添加到post请求的请求体(body)中。解决方法一:配置如下:在main.js中设置配置,修改Content-Typeimportaxiosfrom'axios';axios.defaults.headers.post['Content-Type']='application/x-www-form-urlencoded';Vue.prototype.$axios=axios;Content-Type必须配置为application/x-www-form-urlencoded,以数据卷格式传输数据(不兼容ie)方法二:(推荐)安装qs,在main.js中引入并序列化数据importaxiosfrom'axios';从“qs”导入qs;Vue.prototype.$qs=qs;或者从'qs'导入qs;axios.interceptors.request.use((config)=>{config.data=qs.stringify(config.data);returnconfig;},function(error){returnPromise.reject(error);});作者:子衡|haley博客园:http://www.cnblogs.com/mylly/版权所有,转载欢迎保留原文链接:)
