我的总体目标是获取页面上的所有下拉菜单并将其发送给 php 文件进行处理。
现在,我在 jQuery 中的做法是制作一个整体计划数组,然后将要更新的每个元素添加到该数组。所以我有类似的东西:
var schedule = [];
var data = {
'user_id' : '12',
'day_of_week' : 'Monday',
'when' : 'start',
'time' : '12 AM'
}
schedule.push(data);
var data = {
'user_id' : '13',
'day_of_week' : 'Tuesday',
'when' : 'end',
'time' : '12 AM'
}
schedule.push(data);
// schedule would have two objects in it
显然在循环和等等中。
因此,在本例中,我的日程安排数组中有两个对象。
现在,是否可以使用该计划数组作为 ajax 数据?如果我这样做是行不通的:
$.ajax({
url: 'http://something.com/ajax',
data: schedule,
type: 'POST'
});
但是,如果我改为将它更改为 schedule[0]
,它就可以正常工作,但显然只针对 schedule 数组中的第一件事。
最佳答案
data
属性应该是一个对象。
你可以做的是:
$.ajax({
url: 'http://something.com/ajax',
data: {schedule: schedule},
type: 'POST'
});
因此,如果您在 PHP 中收到此消息,则您有 $_POST["schedule"]
。与您在 JavaScript 中使用的完全相同。
哦,是的,我忘了...也看看.serialize()
和 .serializeArray()
!
关于javascript - 将对象数组作为 ajax 发布数据发送?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10261021/