qs插件使用

请求数据使用axios发送请求发现后端接收不到参数,需要把参数序列化。
Vue中提供了qs这个插件。

qs 安装

npm install qs / cnpm install qs (安装了淘宝镜像的才可以使用)

qs 全局引入

//在main.js引入qs
import  qs from 'qs'

配全局属性配置,在任意组件内可以使用this.$qs获取qs对象

 Vue.prototype.$qs = qs

qs.parse()是将URL解析成对象的形式进行数据序列化

methods: {
//获取部门列表
   getDepartments() {
       this.listLoading = true;
       let para = this.$refs.queryName.value;
       let obj={name:para};
    //qs.parse()是将URL解析成对象的形式
     let query = this.$qs.parse(obj);
       this.$http.patch("/department/queryByName",query).then((res) => {
           // this.total = res.data.total;
           this.departments = res.data;
           this.listLoading = false;
           //NProgress.done();
       });
   },

【注】:有效参数:{"name":"1"}

qs.stringify()将对象 序列化成URL的形式以&进行拼接

const Qs = require('qs');
let obj= {
 method: "query_sql_dataset_data",
 projectId: "85",
 appToken: "7d22e38e-5717-11e7-907b-a6006ad3dba0",
 datasetId: " 12564701"
  };
Qs.stringify(obj);
console.log(Qs.stringify(obj));
//结果
//methods= "query_sql_dataset_data"&projectId="85"&appToken="7d22e38e-5717-11e7-907b-a6006ad3dba0"&datasetId:=" 12564701"

JSON.stringify()Qs.stringify()对比

{"uid":"cs11","pwd":"000000als","username":"cs11","password":"000000als"}
uid=cs11&pwd=000000als&username=cs11&password=000000als

如上所示,前者是采用JSON.stringify(param)进行处理,后者是采用Qs.stringify(param)进行处理的。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值