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

在React中用Axios向ASP.NET Core Web API传数组及可传数据类型咨询

Axios POST传递对象数组及支持数据类型说明

1. 能否通过Axios POST发送对象数组?

完全可以。Axios支持直接将JavaScript对象数组作为POST请求的请求体发送,只要后端ASP.NET Core Web API配置正确,就能正常接收。

前端示例代码

// 构造公司详情对象数组
const companyDetails = [
  { id: 1, companyName: "Tech Corp", address: "123 Main St" },
  { id: 2, companyName: "Global Inc", address: "456 Oak Ave" }
];

// 发送POST请求
axios.post("/api/company/batch", companyDetails)
  .then(res => {
    console.log("数组提交成功", res.data);
  })
  .catch(err => {
    console.error("提交失败", err);
  });

注:Axios默认会把JavaScript对象序列化为JSON格式,请求头自动设置为Content-Type: application/json,无需手动配置(除非有特殊需求)。

后端ASP.NET Core接收示例

[ApiController]
[Route("api/company")]
public class CompanyController : ControllerBase
{
    // 接收对象数组
    [HttpPost("batch")]
    public IActionResult BatchSave([FromBody] List<CompanyDetail> companyList)
    {
        if (companyList == null || companyList.Count == 0)
        {
            return BadRequest("公司详情列表不能为空");
        }
        
        // 这里编写业务逻辑,比如批量保存到数据库
        return Ok(new { message = $"成功接收{companyList.Count}条公司数据" });
    }
}

// 定义对应的模型类
public class CompanyDetail
{
    public int Id { get; set; }
    public string CompanyName { get; set; }
    public string Address { get; set; }
}

2. Axios POST请求支持发送的数据类型

Axios POST请求可以发送多种类型的数据,常见的有以下几类:

  • JSON格式数据:包括对象、数组、字符串、数字、布尔值等JavaScript基本类型,是最常用的请求体格式,后端通过[FromBody]特性接收。
  • 表单数据(FormData):用于提交表单或上传文件,适合包含文件的场景。示例:
    const formData = new FormData();
    formData.append("companyName", "New Company");
    formData.append("businessLicense", fileInput.files[0]); // 上传文件
    
    axios.post("/api/company/upload", formData);
    
    后端可通过[FromForm]接收普通字段,IFormFile接收文件对象。
  • URL编码表单(x-www-form-urlencoded):传统的表单提交格式,需要用qs库将数据序列化:
    import qs from "qs";
    const formData = { companyName: "Old Corp", address: "789 Pine Rd" };
    
    axios.post("/api/company", qs.stringify(formData), {
      headers: { "Content-Type": "application/x-www-form-urlencoded" }
    });
    
  • 纯文本/二进制数据:比如直接发送字符串、Blob、ArrayBuffer等原始数据,需要手动指定Content-Type,后端对应接收为字符串或字节数组。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 11:10:15