axios 之post方式后端获取不到数据解决方案

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/ygy211715/article/details/80591599
之所以后端接收不到数据的原因呢是因为使用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)

})


亲测可用。

展开阅读全文

没有更多推荐了,返回首页