你好,
我一直在寻找,但找不到方法。 基本上我想用这样的数组参数发送GET请求
GET /comments?filter[post]=3&filter[author]=12
我试过这个
params: {
filter: {post: 3, author: 12}
}
但仍然没有运气:(
任何提示?
谢谢
嗨@ghprod ,首先我想明确一点,我不是这个库的贡献者,也不是我使用它,但我路过时看到了这个问题,并决定稍微调查一下代码。
Axios 默认不支持这种编码,但它允许您提供自定义序列化程序。 您可以使用以下代码轻松完成此操作:
// Axios include here...
axios.get('/user', {
params: {
filter: {post: 3, author: 12}
},
paramsSerializer: customSerializerFunc
});
为了使它更简单,我用Google搜索了一下对查询字符串串行库,发现QS这对于浏览器和支持的NodeJS。 您可以通过以下方式将其用作序列化程序:
// Include axios and qs here...
axios.get('/user', {
params: {
filter: {post: 3, author: 12}
},
paramsSerializer: qs.stringify // If this doesnt work, append .bind(qs) to the end of this line.
});
也许您会看到: filter%5Bpost%5D=3
而不是filter[post]=3
,那是因为启用了 URL 编码。 您可以通过以下方式禁用它:
axios.get('/user', {
params: {
filter: {post: 3, author: 12}
},
paramsSerializer: function(params) {
return qs.stringify(params, { encode: false });
}
});
让我知道它是否有效。
问候。
它的作品..:+1:
非常感谢@ngonzalvez
祝你有美好的一天 :)
嗨,我需要有关 axios 的帮助——我如何从输入中获取一个值并将其作为 axios.get 参数的值; 说我正在构建的搜索功能 - 网址的一部分是查询参数。
这是代码
公理
.get('http://localhost:8080/customer/search?hint=da')
其中提示 = "searchText"
请帮忙。
谢谢!
最有用的评论
嗨@ghprod ,首先我想明确一点,我不是这个库的贡献者,也不是我使用它,但我路过时看到了这个问题,并决定稍微调查一下代码。
Axios 默认不支持这种编码,但它允许您提供自定义序列化程序。 您可以使用以下代码轻松完成此操作:
为了使它更简单,我用Google搜索了一下对查询字符串串行库,发现QS这对于浏览器和支持的NodeJS。 您可以通过以下方式将其用作序列化程序:
也许您会看到:
filter%5Bpost%5D=3
而不是filter[post]=3
,那是因为启用了 URL 编码。 您可以通过以下方式禁用它:让我知道它是否有效。
问候。