之所以后端接收不到数据的原因呢是因为使用post方式发送数据的时候,发送的形式
是以Request Payload的形式传送了参数。
不是我们熟悉的form-data形式。也就是是在请求体中发送的数据,那前端应该如何解决呢。
经过查阅资料和实验,引入qs模块是最简单的方法将参数格式化为query参数,因为这个库是axios里面包含的,所以我们可以直接使用。
在main.js中引入axios和qs
import axios from 'axios';
import qs from 'qs';
vue.prototype.$qs=qs;//修改原型,这样在其他组建中可以直接通过this.$qs使用qs
那我们请求的时候该如何使用呢
其实使用该库的主要方法是对参数进行格式化,使用的时候主要就是引用该库的stringify方法对发送的参数进行格式化。
在vue组件中使用如下
let data=this.$qs.stringify({
name:"xxx",
age:'XX'
})
this.$axios({
method:post,
url:url,
data:data
}).then((res)=>{
console.log(res)
}).catch((res)=>{
console.log(res)
})
亲测可用。