You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Node Request向PHP服务器发送数组?

用request库发送数组到PHP API的解决方案

当然可以用request实现这个需求,而且有两种灵活的方式,取决于你的PHP API期望的参数格式:

方式一:直接传递数组(简洁推荐)

如果你用的是request(或request-promise系列)库,直接在formData里传入数组是完全可行的。库会自动将数组编码为符合multipart/form-data规范的格式,PHP端可以通过$_POST['names']直接接收到完整的数组。

示例代码:

const response = await request({
  method: 'POST',
  url: url,
  formData: {
    names: ["tom", "harry"]
  }
});

这种方式下,request会生成两个form-data字段:names[]对应tom,names[]对应harry——这是PHP识别数组参数的标准格式,大部分PHP API都能兼容。

方式二:手动构造带索引的键(匹配Postman操作)

如果你的API严格要求参数键是names[0]、names[1]这种带索引的格式(和你在Postman里的操作完全一致),那可以手动构造对应的键值对,或者通过循环生成:

手动构造示例:

const response = await request({
  method: 'POST',
  url: url,
  formData: {
    'names[0]': 'tom',
    'names[1]': 'harry'
  }
});

循环生成(适合长数组):

const namesList = ["tom", "harry"];
const formData = {};

namesList.forEach((name, index) => {
  formData[`names[${index}]`] = name;
});

const response = await request({
  method: 'POST',
  url: url,
  formData: formData
});

补充说明

PHP对这两种参数格式都能很好地处理:

  • 对于names[]格式,$_POST['names']会直接返回一个包含所有元素的数组;
  • 对于names[0]、names[1]格式,$_POST['names']同样会返回数组,索引和你指定的一致。

你可以根据API的实际要求选择其中一种方式即可。

内容的提问来源于stack exchange,提问作者K20GH

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:23:40