Javascript 如何从json ajax响应设置php数组
类别列表显示。单击类别后,我们已经根据类别列出了产品,当我单击类别时,调用了_category_products function,并返回json输出Javascript 如何从json ajax响应设置php数组,javascript,php,jquery,Javascript,Php,Jquery,类别列表显示。单击类别后,我们已经根据类别列出了产品,当我单击类别时,调用了_category_products function,并返回json输出 [{"name":"watch","unit_price":"430.00"},{"name":"watch","unit_price":"250.00"}] function get_category_products(category){ $.ajax({ type: 'POST',
[{"name":"watch","unit_price":"430.00"},{"name":"watch","unit_price":"250.00"}]
function get_category_products(category){
$.ajax({
type: 'POST',
url: "get_category_products.php",
async: true,
data: 'category=' + category,
cache: false,
success: function(data)
{
alert(data);
}
});
}
产品清单代码
<div style="border:solid 1px red;width:230px;height:300px;overflow-y:scroll;">
<h4>Items/Products</h4>
<hr>
<table border="0">
<tr>
<?php $count =1;
$countItems = count($products_list);
for($pr1=0;$pr1 < $countItems;$pr1++){ ?>
<td style="border:solid 1px black;width:100px;height:70px;text-align:center">
<table>
<tr><td colspan="2"><img src=""></td> </tr>
<tr>
<td><?php echo $products_list[$pr1]->name;?></td>
<td><?php echo $products_list[$pr1]->unit_price;?></td>
</tr>
</table>
</td>
<?php if($count % 3 == 0) { ?> </tr><tr><?php } ?>
<?php $count++; } ?>
</table>
</div>
项目/产品
如何解码json输出并设置为php数组($products_list),如何使用上述代码基于类别显示产品。将
数据类型:“json”
添加到AJAX调用中,jQuery将自动为您解码
$.ajax({
type: 'POST',
url: "get_category_products.php",
async: true,
data: { category: category},
dataType: 'json', // *******
cache: false,
success: function(data) {
alert(data);
}
});
我还建议始终将对象作为
data
选项传递,允许jQuery为您编码(它将调用encodeURLComponent
,正确编码特殊字符),而不是param=value
字符串,因为您无法从服务器设置为php json响应。只有java脚本可以使用json数据,您可以将json设置为某个JS对象,并仅使用JS更新模板。我建议使用
,非常简单。将数据更改为:
data:{category:category}