最近在写一个后台管理的界面,我们的后台是php写的,我前几个接口都很正常,但是后来一个接口,因为发的是post请求,传递参数的时候,返回的一直是参数不能为空 ,但是我在浏览器中可以看见我的参数正常传递了 ,这就很奇怪了。
于是后台就去看了眼日志,发现日志里参数也都是为空的。
这是怎么回事呢?
大家都知道用axios发送请求 ,axios会把我们携带的参数自动转化为json格式的,接收到相应会自动帮我们进行序列化,问题就出现在这 可以看见后台的要求是'Content-Type': 'application/x-www-form-urlencoded'加上
这种格式的,与我们的请求不符合,所有才会产生接受接受不到参数的情况!
那么怎么解决呢
我们可以用 URLSearchParams来进行传参
let param=new URLSearchParams
param.append('id',data.id)
param.append('status',data.status==1?'2':'1')
this.axios({
method:'post',
url:'/index/api/kord
data:param
}).then(res=>{
console.log(res)
})