reactjs 我们可以用axios把数组传递给react中的post request吗?

jaql4c8m  于 2023-01-12  发布在  React
关注(0)|答案(3)|浏览(196)

假设companyDetail是一个对象,我必须将公司详细信息列表传递给API。因此,我可以在post请求中发送对象数组,如下所示:-axios.post(“",);
注API是在ASP.NET核心Web API中创建的。
我们可以发送什么类型的数据?

bwntbbo3

bwntbbo31#

只要终结点希望接收此类型的数据,就可以发送对象数组。
使用axios:

const companyDetails = [
  { ... },
  { ... },
  { ... },
];

axios.post("https://myapi.com/companydetails", companyDetails)
  .then(response => {
    console.log(response.data);
  })
  .catch(error => {
    console.log(error);
  });
ssm49v7z

ssm49v7z2#

是的,您可以将数据作为对象companyDetail的数组进行传递,但这取决于API请求主体在后端的创建方式。如果API希望请求主体位于其他自定义变量中,例如reqBody,则必须将companyDetail分配给reqBody

axios.post("endpoint", {reqBody: companyDetail})

如果API希望请求主体位于companyDetail本身中,则:

axios.post("endpoint", {companyDetail})
uklbhaso

uklbhaso3#

CompanyDetail是一个对象,我必须将公司详细信息列表传递给API。因此,我可以在post请求中发送对象数组,如下所示:-www.example.com("",);注意API是在ASP.NET核心Web API中创建的。我们可以发送什么类型的数据?axios.post("",);Note API is made in ASP.NET Core Web API. What type of data can we send ?
好吧,从你的第一个问题开始,是的,我们肯定可以发布对象列表为axios.post("",)时尚。考虑到你的场景,我们可以写如下代码片段:
让我们假设,我们有如下模型:
型号:

public class CompanyDetails
    {
        public int CompanyId { get; set; }
        public string Name { get; set; }
        public string Email { get; set; }
    }

Asp.net core Web API:

[Route("api/[controller]")]
    [ApiController]
    public class AxiosWebApiController : ControllerBase
    {
        [HttpPost]
        [Route("CompanyDetails")]
        public async Task<IActionResult> CompanyDetails(List<CompanyDetails> companyDetails)
        {
          // Do whatever you like here
            return Ok(companyDetails);
        }
    }

我们可以发送什么类型的数据?
好吧,这取决于你,如果你的控制器接受对象列表作为模型就像这个List<CompanyDetails> companyDetails那么你可以做如下。
Axios请求:

@section Scripts
    {
    <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
    <script>

        const CompanyId = "CompnayId:";
        const Name = "Name:";
        const Email = "Email:";
       

        const companyDetails = [];

        for (let i = 1; i <= 10; i++) {
            const companyObject = {
                CompanyId: CompanyId + i,
                Name: Name + i,
                Email: Email + i
            }
            companyDetails.push(companyObject);
        }
        console.log(companyDetails);
        axios.post("http://localhost:5094/api/AxiosWebApi/CompanyDetails", companyDetails);
    </script>
}
    • 注意:**如果您的控制器接受[FromForm],则像formData.append("CompanyId", 1);一样追加为FormData(),然后推送到您的数组对象。

此外,请检查您的浏览器控制台,如果对象张贴相应如下:

输出:

相关问题