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排名
2022 QS世界大学排名发布!麻省理工霸榜,清北冲上全球前20