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))); 
} 

最终结果如下所示。

enter image description here

这是我的$就要求

$.ajax({ 
    type: "POST", 
    url: "store.php", 
    dataType: "json", 
    data: locations, 
    success: function(data) { 
     console.log(data); 
    } 
}); 

唯一的问题是,我似乎无法将其转换为可读的格式发送到PHP

任何线索?谢谢!

+1

什么是你的PHP样子?这种形式的数据应该是可读的。 – Purag 2015-02-12 07:53:24

+0

我目前只打印完整的测试请求。我将添加ajax请求 – Notflip 2015-02-12 07:53:57

+0

如何从PHP打印数据? – eurica 2015-02-12 08:02:11

使您的发布数据成为一个对象。

$.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