[英].ajax and params and how to get them to look like this?
我尝试发布先前的问题,但我认为这很令人困惑。
基本上,我被告知“您能使数据像这样通过吗?” -请记住,这些数据不是从表单派生的,而是通过客户端搜索驱动的数据。
这就是假定要发送到服务器的内容。 因此,如果转储了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中的各种数据设置,没有运气。 我对于如何格式化发送的数据(模仿我最初发布的内容)感到迷惑。
有任何想法吗?
您应该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"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.