接口传参怎么传多维数组,应该怎么传?

作者站长头像
站长
· 阅读数 7

接口传参的时候需要给后端传的参数是数组大概是这样的:接口传参怎么传多维数组,应该怎么传?在这弹窗里面,点击弹窗下面的保存按钮调接口,需要把每一行的单位代码和总人口作为参数传过去,还要判断一下id,这条数据有id的话就传id,没有id的话就不传id 只传单位代码和总人口接口传参怎么传多维数组,应该怎么传?

// 这是点击保存的方法
save() {
        this.loading = true;
        getReport({
          year: this.yearData
        })
          .then(() => {
            this.loading = false;
            this.$message.success('上报成功');
            this.updateVisible(false);
            this.$emit('done');
          })
          .catch((e) => {
            this.loading = false;
            this.$message.error(e.message);
          });
      }
// 这个是弹窗里面表格的方法和接口
async listAll() {
        const data = await getZrkListAll({ year: this.yearData });
        this.tableData = data;
      }

接口传参怎么传多维数组,应该怎么传?请问接口传参应该怎么传多维数组,把每一行的单位代码和总人口传给后端,还有判断id应该怎么去操作呢?

回复
1个回答
avatar
test
2024-06-29

看你的postman截图,后端应该是PHP,对应参数转换成json格式如下:

{
  "param": [{
    "id": 1,
    "qhdm": 370102001002,
    "zrk": 6
  }, {
    "qhdm": 370102001010,
    "zrk": 20
  }],
  "year": 2023
}

根据上述格式,遍历已选择数组构造参数即可:

getReport({
  param: this.selectData.map((item) => {
    const it = {
      qhdm: item.qhdm,
      zrk: item.zrk
    };

    if (item.id != null) {
      it.id = item.id;
    }

    return it;
  }),
  year: 2023
}).then(() => {
  // ...
}).catch(() => {
  // ...
});
回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容