javascript - 将对象数组作为 ajax 发布数据发送?

标签 javascript jquery ajax

我的总体目标是获取页面上的所有下拉菜单并将其发送给 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/

相关文章:

javascript - 对象中的JS函数消失

jQuery 悬停菜单

javascript - 为 CodeMirror 的 lint 功能使用异步警告源

ajax - 在服务器和客户端之间共享 mustache/mustache 模板。 ASP.NET MVC

javascript - 与其他浏览器相比,我如何解决 safari 或 mac 中的字体粗细、文本太粗的问题?

javascript - 带有 src 的脚本标签和脚本标签之间的代码

javascript - 使用 javascript 创建二维对象或数组

jquery - CSS !important 似乎在 jQuery/Firefox 3.x 中不起作用

jquery - 滚动内部子 div

ajax - 无法使用动态 JSON