【问题标题】:array of objects as parameters on request POST axios对象数组作为请求 POST axios 的参数
【发布时间】:2018-09-21 16:40:18
【问题描述】:

我正在使用 vue.js 开发一个项目并处理我使用 AxiosAJAX 请求,我想知道是否可以将一个参数作为参数传递给 POST 请求一个对象数组,这种类型:

[{id: 1, name: 'max'}, {id: 2, name: 'jhon'}, {id: 3, name: 'anna'}]

如果可能,最好的方法是什么?

【问题讨论】:

标签: arrays json ajax vue.js axios


【解决方案1】:

当然!

let arrOfObj = [
  { name: 'John', lastName: 'Doe' },
  { name: 'Jane', lastName: 'Doe' }
]

axios.post('url_here',arrOfObj)
.then(console.log)
.catch(console.log)

【讨论】:

    【解决方案2】:

    是的,很有可能

    let data = [
        {id: 1, name: 'max'}, 
        {id: 2, name: 'jhon'}, 
        {id: 3, name: 'anna'}
    ];
    
    let formdata = new FormData();
    formdata.append('data',JSON.stringify(data));
    
    axios.post('/url`',formdata)
    .then(res => console.log(res))
    .catch(err => console.log(err)
    

    在接收端(假设是 PHP 和 Laravel)

    $data = json_decode($request->data);
    

    然后循环遍历 $data,因为它是一个普通数组

    【讨论】:

      【解决方案3】:

      Lema's answer 是唯一一个在使用 axios + vue + .net Core 时对我有用的人。

      我正试图向我的后端发送一个期望数组的帖子。在 Lema 的实现之后,我收到了一个字符串,然后将 json 字符串反序列化为我期望的类型。

          public IActionResult PostMethod([FromForm]string serialized_object_name){
               var expectedArray = JsonConvert.DeserializeObject<ArrayTypeNeeded[]>(serialized_object_name);
          }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-02-28
        • 1970-01-01
        • 2013-06-03
        • 2022-01-18
        • 2019-03-05
        • 1970-01-01
        • 2021-03-16
        相关资源
        最近更新 更多