请教 JQUERY 如何 接收处理 JSON格式数据 50

小弟新手,刚学了AJAX,现在想做一个联级菜单,遇到了一些困难,请教一下各位前辈。首先Test.php//这个页面是来处理前面传的数据的$act=$_POST['act'... 小弟新手,刚学了AJAX,现在想做一个联级菜单,遇到了一些困难,请教一下各位前辈。

首先 Test.php // 这个页面是来处理前面传的数据的

$act=$_POST['act'];
$id=$_POST['id'];
if ($act=='shop') {
$sql=$db->query("select * from tb_dealers where YT_ShopID=$id");
while($row=mysql_fetch_array($sql))
{$select[]=array("ShopName"=>$row["ShopName"]);}
$a= json_encode($select);
echo ($a); }

通过打印测试,得出结论:返回来的数据形式是这样的:
[{"ShopName":"\u7f8e\u8fb0\u7d22\u5e97"},{"ShopName":"\u7f8e\u8fb0Think\u5e97"},{"ShopName":"\u4e1c\u829d"},{"ShopName":"\u534e\u7855"},{"ShopName":"\u6234\u5c14"},{"ShopName":"\u65b9\u6b63"}]
我不是很明白:这个格式是 数组 还是 JSON格式, 为什么后面的中文会显示这样呢?

之前的传输页面:
//为了避免系统里面类库的冲突,JQUERY里面的 符号$换成 jQuery

jQuery(function() {
jQuery('#ddlYTShop').change(function(){
jQuery("#ddlB_ShopName").empty();
jQuery.post("Test.php",{id:jQuery('#ddlYTShop').val(),act:"Shop"},
function(data){
jQuery.each(data, function(index, entry){
var option="<option value='"+entry['ShopName']+"'>"+entry['ShopName']+"</option>";
jQuery("#ddlB_ShopName").append(option);
});
});
});
});
这样写返回来的全部是字符串格式,但是显示的全部是 undefined,
好像是要把传回来的字符串格式转换成对象,但是具体不知道写?
所以请教一下各位前辈。

顺便想请教一下 ajax这两种写法有什么区别呢:
$.ajax({
type:"POST",
url:"Test.php",
data: {id: $('#ddlYTShop').val()},
success:function(data){$('div.a').html(data); }
});

$.post("Test.php",{id:$('#ddlYTShop').val()}, function(data){$('div.a').html(data);})
这两种有区别嘛?
展开
 我来答
nur025
2012-05-17 · 超过57用户采纳过TA的回答
知道答主
回答量:358
采纳率:0%
帮助的人:200万
展开全部
$a= json_encode($select);转码了,转回来,
追问
谢谢,请问一下,这个地方,到底是要显示数组格式呢还是JSON格式呢? 还有JS那边应该怎么解析呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
山茶小作坊
2015-12-24 · TA获得超过109个赞
知道小有建树答主
回答量:221
采纳率:72%
帮助的人:71万
展开全部
  • $.post封装了$.ajax 没区别


已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式