需要抽丝吗?从javascript到PHP发布对象数组的数据格式混乱
Need to stringify? Confusion over format of data for posting array of objects from javascript to PHP
我正试图将一组对象从jQuery/Javascript客户端脚本发布到服务器端PHP脚本。
我仍然对对象数组数据在到达服务器之前应该采用的格式感到困惑。
我创建了一个数组来存储json对象
var jsonObjects = [];
我将单个json对象添加到数组
var jsonObj1 = {};
jsonObj1.place = "London";
jsonObj1.position = 1;
jsonObjects.push(jsonObj1);
var jsonObj2 = {};
jsonObj2.place = "Melbourne";
jsonObj2.position = 2;
jsonObjects.push(jsonObj2);
etc
然后我尝试通过ajax发布这些数据(我在发布之前尝试过字符串化,也尝试过不进行字符串化)
例如
//var data = jsonObjects;
//var data = JSON.stringify(jsonObjects);
jQuery.ajax({
url: "/drupal/menu_item",
type: 'POST',
data: data
dataType: 'json'
});
无论哪种方式,在Firebug的XHR选项卡上,它都只显示数据的字符串版本例如。[{"地方":"伦敦","位置":"2"},{"地点":"墨尔本","职位":"1"}]
而不是像以前发布的细节一样,将数据分解为参数。当然,除非PHP在字符串化状态下查找数据,否则实际上可以工作(?)
关于如何向PHP发送json对象数组,我似乎发现了一些相互矛盾的细节。在执行ajax请求时,数据应该处于什么状态?a) 字符串化对象数组b) 对象数组c) 又是别的东西了(?)
任何澄清这一点的帮助都将不胜感激:)
谢谢,
Rowan
字符串化数据只是JS对象的文本表示。因此,您可以在字符串化的JS对象上运行json_decode
,以获得PHP数据结构。
另一方面,如果您的对象是简单键:没有太多深度的值对象(多维数组),那么它们可以作为查询字符串发送,并解析为PHP的$_POST
/$_GET
/$_REQUEST
相关文章:
- 如何使用内部对象构造对象
- 添加到Javascript中对象的对象中
- 在JS中围绕旋转对象旋转对象
- “;Stub对象”;对象不符合检查点's条件
- 向Angular作用域对象添加对象数组——TypeError
- Javascript JSON对象替换对象中的字符串
- 在HTML5画布中,是否可以围绕旋转对象旋转对象
- 动态创建嵌套的JSON对象父对象和子对象
- 如何筛选所有属性都是对象的对象
- javascript:对具有对象的对象进行排序并读取它们
- 如何将对象插入对象列表的开头,当它有 unshift 不是函数错误
- 在 Forerunner 数据库集合中创建主键时,key 属性是否可以位于集合对象的对象内部
- 使用 Javascript 对象作为对象键
- PhantomJS 控制台.log对象输出 [对象对象]
- 如何创建行为类似于本机对象的对象
- IE8对象当对象包含null值时应出现错误
- 循环遍历以数组作为值的对象的对象
- 递归没有完全遍历具有嵌套对象的对象
- 按对象的 ID 删除对选定对象的对象引用
- 当在JSON中使用包含对象的对象与对象数组时,可接受的约定是什么