对象数组作为请求 POST axios 的参数
Posted
技术标签:
【中文标题】对象数组作为请求 POST axios 的参数【英文标题】:array of objects as parameters on request POST axios 【发布时间】:2018-09-21 16:40:18 【问题描述】:我正在使用 vue.js 开发一个项目并处理我使用 Axios
的 AJAX
请求,我想知道是否可以将一个参数作为参数传递给 POST
请求一个对象数组,这种类型:
[id: 1, name: 'max', id: 2, name: 'jhon', id: 3, name: 'anna']
如果可能,最好的方法是什么?
【问题讨论】:
javascript - pass object via post的可能重复 为什么不可能? 【参考方案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);
【讨论】:
以上是关于对象数组作为请求 POST axios 的参数的主要内容,如果未能解决你的问题,请参考以下文章