我尝试发布上一个问题,但我认为这是令人费解的。
基本上,我被告知“你可以通过这样的方式来获取数据吗?” - 请记住,此数据不是来自表单,而是来自客户端通过搜索驱动的数据。
这是假设要发送到服务器的内容。所以,如果您转储了error_log,它会看起来像这样。这都是动态的,因此下面的对象将是那种格式,但数据会发生变化。
{
"matchedItems" :
[
{ "itemID1" :
{ "Cost" : "12",
"Size" : "small",
"Colors" : [ "blue", "red" ]
}
},
{ "itemdID2" :
{ "Cost" : "33",
"Size" : "large",
"Colors" : [ "yellow" ]
}
}
]
}
所以,我通过页面上的一些东西运行并捆绑数据并返回数据集,因此数组中的哈希值。
但是对于我的生活,我在实际的.ajax帖子中看不到任何好看的东西。当我将console.log数据输出时,它看起来不错。它是一系列哈希。等...看起来很好。但是,当我查看请求的参数时,以下是实际发送的内容。以下是我实际发送的内容。它做了一些奇怪的合并,看起来像。
{
'matchedItems[0][itemid1][Color]' => 'Blue',
'matchedItems[0][itemid1][Size]' => 'small',
'matchedItems[0][itemid1][Cost]' => '33.90',
'matchedItems[1][itemid2][Color][]' => ['Silver'],
'matchedItems[1][itemid2][Size]' => 'small',
'matchedItems[1][itemid2][Cost]' => '44',
'matchedItems[2][itemid3][Color][]' => ['blue','Red'],
'matchedItems[2][itemid3][Size]' => 'large',
'matchedItems[2][itemid3][Cost]' => '23'
};
我尝试了$ .params的数据,没有运气。我尝试了dataType中的各种数据设置,没有运气。我对如何格式化我发送的模拟我首先发布的数据感到茫然。
有什么想法吗?
答案 0 :(得分:1)
您应该json_encode() PHP的输出
示例:
<?php
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
echo json_encode($arr);
?>
输出:
{"a":1,"b":2,"c":3,"d":4,"e":5}
您可以使用jQuery解码从ajax回复中获取的json:
var json_reply = jQuery.parseJSON('{"a":1,"b":2,"c":3,"d":4,"e":5}');
alert( json_reply.a ); // alerts "1"