Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Axios+查询字符串_Javascript_Axios_Query String - Fatal编程技术网

Javascript Axios+查询字符串

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

我想知道如何使用查询字符串npm包来简化axios调用。我使用的软件包是:

例如:

从“查询字符串”导入qs; 从“axios”导入axios; axios.get`http://localhost:3000/api/products${qs.parse{offset:0,limit:12}}`;
不确定原因,但这不符合预期。

要使用模板文字,需要使用反勾号非正常引号。 代码:

如果不想使用反勾号,则不能使用${}语法。 就像普通的字符串插值一样

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);
    }
  })