Javascript Axios+查询字符串
我想知道如何使用查询字符串npm包来简化axios调用。我使用的软件包是: 例如: 从“查询字符串”导入qs; 从“axios”导入axios; axios.get`http://localhost:3000/api/products${qs.parse{offset:0,limit:12}}`;Javascript Axios+查询字符串,javascript,axios,query-string,Javascript,Axios,Query String,我想知道如何使用查询字符串npm包来简化axios调用。我使用的软件包是: 例如: 从“查询字符串”导入qs; 从“axios”导入axios; axios.get`http://localhost:3000/api/products${qs.parse{offset:0,limit:12}}`; 不确定原因,但这不符合预期。要使用模板文字,需要使用反勾号非正常引号。 代码: 如果不想使用反勾号,则不能使用${}语法。 就像普通的字符串插值一样 axios.get(‘http://localho
不确定原因,但这不符合预期。要使用模板文字,需要使用反勾号非正常引号。 代码: 如果不想使用反勾号,则不能使用${}语法。 就像普通的字符串插值一样
axios.get(‘http://localhost:3000/api/products'+qs.parse({ offset: 0, limit: 12 })});
你真的不需要它。Axios有一种标准的方法将参数放入您的请求中,而无需任何附加库或手动操作
axios
.请求{
url:“/some/url”,
方法:“get”,
参数:{
偏移量:0,
限额:12,
未知:“??”
},
...
}
必须转换为/some/url?offset=0&limit=12&unknown=%3F%3F%3F。Axios提供了另一种方便而强大的方法,可以将查询参数作为对象发送到http GET方法
您可以通过以下方式更改您的请求:
axios.get('http://localhost:3000/api/products', {
params: {
offset: 0,
limit: 12
}
})
因为没有必要像axios那样使用查询字符串,而是通过将参数放入请求中来自动使用查询字符串 但是,如果您想使用查询字符串包,也可以通过这种方式来实现 下面是一个简短的示例,可以让您了解如何使用查询字符串 从“qs”进口qs;https://www.npmjs.com/package/qs 从“axios”导入axios; 导出默认的axios.create{ 基本URL:`http://localhost:3000/api/products`, 参数:参数=>{ 返回qs.stringifyparams,{offset:0,limit:12}; },
};“不确定为什么,但这不符合预期”-因为您走的方向完全错误…parse将现有查询字符串解析为相应的数据结构-如果您想要相反的结果,则需要从数据结构创建查询字符串。这样做的方法是queryString.stringify.噢,非常感谢@04FS!完全忘记了那个方法。干杯,祝你有一个精彩的一周!移动设备确实可以产生回跳。在Android上,你可以找到符号键盘,然后长按撇号,得到一个菜单,从几个类似撇号的符号中进行选择。请尽早修复此问题,对于新问题,如果您知道无法正确设置格式,请不要发布。我写了一篇关于backticks bro的简短评论。用手机发帖,键盘没有回音哈哈,这就是为什么我说使用普通字符串插值。因为你不能将${}与普通的quotesHmm一起使用,是的,我明白了,只是想把代码缩短一点,这样我就不必费劲在parameters@kyapwc参数编码是axios的标准行为
axios.get('http://localhost:3000/api/products', {
params: {
offset: 0,
limit: 12
}
})
this.$axios.get('/', {
params: {},
paramsSerializer: params => {
return qs.stringify(params);
}
})