对象数组作为请求POST axios的参数

时间:2018-04-11 17:22:49

标签: arrays json ajax vue.js axios

我正在使用vue.js处理项目并处理我使用function checkAndAdd(obj) { var matchingObj = objArray.find(o => o.name === obj.name); if (matchingObj) matchingObj.qty++; else objArray.push(obj); } 的{​​{1}}个请求,我想知道是否可以将参数作为参数传递给AJAX请求这类对象的数组:

Axios

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

3 个答案:

答案 0 :(得分:1)

  

当然!

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

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

答案 1 :(得分:1)

是的,很有可能

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,因为它是普通数组

答案 2 :(得分:0)

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);
    }