当前位置: 首页 > 知识库问答 >
问题:

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

公西俊民
2023-07-28

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

// 这是点击保存的方法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;      }

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

共有2个答案

令狐辉
2023-07-28
  1. 传数组就用 JSON 格式即可,业界通用,JSON.stringify()
  2. 具体数据格式,你要跟后端协商,或者按照他的规定来格式化
李昱
2023-07-28

看你的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(() => {  // ...});
 类似资料:
  • 上传文件的功能是后端来做 点击浏览按钮能弹出选择的文件夹 点击上传的按钮需要调接口完成上传功能 下面是定义的接口和后端postman截图 只要传一个path就可以了,请问应该在Upload方法里面怎么调用接口把需要上传的文件传给后端呢

  • ,该数组是一维数组,第一层节点是parent:# 第二层根据第一层id和 第二层parent进行比较,以此类推

  • 小程序模板中怎么传递参数,在JS文件中因为有其他地方传递了type所以方法这边改不了,模板中不能直接传递参数吗?查了文档说可以用data-type,那方法那边接参应该怎么写呢?谢谢 小程序模板中怎么传递参数?

  • 这是接口接受的类型: 这是我目前的: 因为接口接收一个JSON数组,类型1 的 value 需要变成 [''],其他类型就不用变。 这是我目前的写法

  • 操作步骤: ①登录账号进入工作台,选择地图点击编辑进入编辑地图页面。 ②点击上传数据按钮。 ③弹出上传地址或坐标文件窗口,点击上传数据。 *注:一个Excel中只能有一个工作表。 ④选择文件点击打开,进入上传地址坐标文件设置窗口。(选择定位方式、字段、坐标系及设置字段类型) ⑤点击完成文件开始上传。 操作动图: [查看原图]

  • 操作步骤: ①在"图层管理"模块,选择一个带有数据的图层。 ②点击记录弹出窗口。 ③点击"上传图片"按钮。 ④可以添加标注地点的照片信息,支持从本地上传和选择网络上的图片以及历史图片。 ⑤选择图片,进行添加图片。 ⑥点击"绑定图片"按钮。 提示: ●目前一个网点支持上传20张照片。 ●每张图片大小不超过5M。 操作动图: [查看原图]