在 VUE.JS 中传递多个参数问题

Passing multiple params issue in VUE.JS

我正在尝试通过传递多个 ID 来获取数据,因为 param.But 我传递的参数是我不想要的数组。

示例:

当前数据:api 正在返回参数作为详细信息?ids[]=123&ids[]=245

预期数据:我想将参数作为详细信息传递吗?ids=123&ids=245

  const postRes = await axios.post('employee/departments', this.details);
  const getRes = await axios.get('employee/departments',
     { params: { ids: postRes.map(i=>i.id)},
  });
  this.$emit('fileDetails', getRes.data);

你可以自己序列化参数:

  1. 将每个对象映射到一个字符串中,包含前缀为对象的 id.
  2. 'ids='
  3. 使用 & 分隔符连接生成的数组。
const params = postRes.map(i => 'ids=' + i.id) 1️⃣
                      .join('&') 2️⃣
const getRes = await axios.get('employee/departments?' + params)

运行 这个片段例如输出:

const postRes = [{ id: 11 }, { id: 22 }, { id: 33 }]
const url = 'employee/departments?' + postRes.map(i => 'ids=' + i.id).join('&')
console.log(url)