PHP对象阵列
问题描述:
我一直在努力将对象数组转换为JSON或任何其他PHP可读格式,所以我可以通过AJAX发送它。PHP对象阵列
我使用本地存储和我保存的对象到它,我保存它使用
JSON.stringify(data)
现在,当我通过所有的数据的localStorage循环,我它使用以下代码
添加到一个数组var locations = new Array();
for(var i = 0; i < localStorage.length; i++){
locations[i] = JSON.parse(localStorage.getItem(localStorage.key(i)));
}
最终结果如下所示。
这是我的$就要求
$.ajax({
type: "POST",
url: "store.php",
dataType: "json",
data: locations,
success: function(data) {
console.log(data);
}
});
唯一的问题是,我似乎无法将其转换为可读的格式发送到PHP
任何线索?谢谢!
答
使您的发布数据成为一个对象。
$.ajax({
type: "POST",
url: "store.php",
dataType: "json",
data: {location: locations},
success: function(data) {
console.log(data);
}
});
然后在你的PHP:print($_POST['location']);
答
你也应该能够将内容直接从localStorage的传递 - 无需从它创建数组。
使用JSON.stringify()
形成的数据可以通过$.ajax
发送并由PHP解释。
答
你也可以这样简化。
$.post('store.php', {location: locations}, function(data) {
console.log(data);
});
答
您可以使用PHP的输入流中读取数据:
$json = file_get_contents('php://input');
$array = json_decode($json);
有关PHP的I/O流的详细信息,请参阅http://php.net/manual/en/wrappers.php.php
什么是你的PHP样子?这种形式的数据应该是可读的。 – Purag 2015-02-12 07:53:24
我目前只打印完整的测试请求。我将添加ajax请求 – Notflip 2015-02-12 07:53:57
如何从PHP打印数据? – eurica 2015-02-12 08:02:11