解决vueaxiospost请求,后台获取不到数据的问题,get请求很简单,这里就不说了,主要说说post请求的方法。使用axios发起post请求,后台收不到数据,这让我疑惑,于是上网搜索了一下,现在把解决方法告诉大家:1、新的URLSearchParams方法最初使用的是params.append("propertyname":属性值)对于简单的数据传输是没有问题的,后台可以正常接收数据,但是我发现了一个问题,不知道大家遇到过没有,当传输数据包含数组的时候,会发现这个字符串formatarr:a1,b1,c1发送到后台而不是正常的格式arr:[a1,b1,c1]不符合我的要求,继续查找。2.Qs.stringify的方法看到网上很多解决方案都在讲qs,于是安装了qs插件,使用方法也很简单。先安装插件,然后注册组件,axios.post(url,Qs.stringify(params)),传参前,用qs转换格式。qs把对象序列化成url形式,用&拼接,后台输出下收到的数据值了,别提有多开心了,玩了两分钟而已,待会再仔细看看,才发现当数据为空的时候,qs居然被过滤掉了,直接不传了,这才叫伤心。..3、改变后台的接收方式网上大部分帖子都是在前端处理的,但是没有很好的解决办法,所以我把思路转向了后台,改变了后台的接收方式,使用了file_get_contents('php://input')接收前端传来的参数,前端以正常格式传输。axios.post(url,params,{'Content-Type':'application/x-www-form-urlencoded;charset=UTF-8'})以上只是我个人的经验。如果您有其他解决方案,请留言。
