qs 与axios

Posted xiaosenwxs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了qs 与axios相关的知识,希望对你有一定的参考价值。

const qs = require("qs");
//qs.parse()将URL解析成对象的形式
let url =
  "method=query_sql_dataset_data&projectId=85&appToken=7d22e38e-5717-11e7-907b-a6006ad3dba0";
qs.parse(url);
console.log(qs.parse(url));
//qs.stringify()将对象 序列化成URL的形式,以&进行拼接
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));
打印结果

{ method: ‘query_sql_dataset_data‘,
projectId: ‘85‘,
appToken: ‘7d22e38e-5717-11e7-907b-a6006ad3dba0‘ }
method=query_sql_dataset_data&projectId=85&appToken=7d22e38e-5717-11e7-907b-a6006ad3dba0&datasetId=%2012564701

、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

axios拦截器

//添加请求拦截器
axios.interceptors.request.use(config => {
  const { method, data } = config;
  if (method.toUpperCase() === "POST" && data instanceof Object) {
    config.data = qs.stringify(data);
  }
  return config;
});
//添加响应拦截器
axios.interceptors.response.use(
  response => {
    return response.data;
  },
  error => {
    alert("请求移仓");
    console.log(error);
    //终端promise列
    return new Promise(() => {});
  }
);
目的:
处理post请求是,会转化为urlencode格式(默认是json格式)请求拦截器
 让成功的结果不是response 而是response.data,相应拦截器的失败回调
 

以上是关于qs 与axios的主要内容,如果未能解决你的问题,请参考以下文章

JSON.parse()与JSON.stringify()与qs.stringify的区别

计算机专业-世界大学学术排名,QS排名,U.S.NEWS排名

最新!QS发布一项世界大学排名:38所中国高校上榜!

2022 QS世界大学排名发布!麻省理工霸榜,清北冲上全球前20

马来西亚思特雅大学国际DBA QS排名442位 教育部推荐院校

qs.stringify()qs.parse()的使用