gpt4 book ai didi

javascript - axios 获取参数数组

转载 作者:行者123 更新时间:2023-11-30 14:23:21 25 4
gpt4 key购买 nike

我使用 axios 创建了一个获取请求:

this.$axios.get('/cidade/',{
params: {
q: result,
}
})
.then((response) => {
this.cidades = response.data;
})
.catch(function (error) {
// handle error
// eslint-disable-next-line
console.log(error);
})
.then(function () {

// always executed
});

但我的结果是一个数组 [123asdas1,asdasd2312] 并且当 axios 执行请求时他创建了那个 url:

http://localhost:8081/cidade/?q[]=5b9cfd0170607a2e968b0a1e&q[]=5b9cfd0170607a2e968b0a1d

所以可以从 q 参数中删除 [] 吗?怎么办?

谢谢

最佳答案

当组成一个字段有多个值的查询字符串时(即,如果它是一个数组),那么没有标准说明它必须如何在查询字符串中编码,但是大多数网络服务器接受这种语法:

http://localhost:8081/cidade/?q[]=value1&q[]=value2

这就是 axios 默认使用它的原因。检查您的网络服务器,看它是否正确读取数组形式的参数。

如果你想强制它以其他方式编码,只需将数组转换为你想要的任何格式的字符串并将其作为单个值发送:

this.$axios.get('/cidade/', {
params: {
q: JSON.stringify(result)
}
})
http://localhost:8081/cidade/?q=[value1,value2]

([] 字符可能是 percent-encoded 。)

一般来说,这种语法无法区分字符串[value1,value2]"和数组[value1, value2],所以web服务器必须选择一个或另一个。同样,这完全取决于您的网络服务器。

关于javascript - axios 获取参数数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52358786/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com