我创建了一个jQuery对象数组:
my_family = [
person {
name = “nick”,
age = 41,
role = “dad”
},
person {
name = “john”,
age = 4,
role = “son”
},
person {
name = “sarah”,
age = 31,
role = “mom”
},
]
我试图通过帖子作为php数组发布到同一页面,我已成功完成:
$.post("http://www.samepage.com", {my_family: my_family});
然后我想使用这些数据,但当我尝试将其添加到变量或以任何方式操纵它时页面没有响应。当我使用下面的代码时,我可以在我的firebug中看到它打印到html中,但我不能将它添加到变量或任何东西,怎么样?这是我用来在html中看到它的东西:
print_r ($_POST['my_family']);
此外,它不会打印到名为“my_family”的页面,而只是“Array”。我的主要目标是遍历数组并将每个“age”值存储到一个新数组中。是我通过post方法做的事情吗?
答案 0 :(得分:1)
如果要发布一些更复杂的数据,可以尝试JSON.stringify
该数据,发送数据,然后用PHP解码。
在JavaScript中:
$.post("http://www.samepage.com", {my_family: JSON.stringify(my_family)});
在PHP中:
$my_family = json_decode($_POST['my_family'], true);
print_r($my_family);
// And if you're storing 'age' values into a new array
$age_values = array();
foreach($my_family as $person) {
array_push($age_values, $person['age']);
}
答案 1 :(得分:1)
这里看起来你正在尝试将数据读取为不是表单发布的POST,$ _POST只是一个数据的包装器,可以用于
application / x-www-form-urlencoded(简单的内容类型 表格帖子或
multipart / form-data-encoded(用于文件上传)
这里基本上你可能想要读取JSON作为php的原始输入。 //在你的php文件中..
$data = json_decode(file_get_contents('php://input'));
print_r ( $data);