如何获取JQUERY AJAX返回的JSON结果集实现代码 |
本文标签:ajax获取,json结果集 代码如下:我写了个方法,用于查询结果,但debug过程中发现结果集有数据,我如何通过变量获取呢? JScript code 复制代码 代码如下: function getChildNodeArrayByParentID(categoryCode) { $.ajax( { type: "get", url: "DynamicMenuItemsHandler.ashx", data: { MenuItemCode: categoryCode }, async: false, success: function(data) { return data; } }); } var jsonArray = getChildNodeArrayByParentID(01); var jsonArray = getChildNodeArrayByParentID(01); 我这样获取的结果是undefined结果,但方法里舒适返回结果了,请赐教 。 HTML code 复制代码 代码如下: function searchStu(page){//AJAX按页查询 var xm=$("#xm").val(); var xs=$("#xy").val(); var data="cus.xm="+xm+"&cus.xs="+xs+"&page="+page; $.ajax({ type: "post",//使用get方法访问后台 dataType: "json",//返回json格式的数据 url: "AccountList.action",//要访问的后台地址 data: data,//要发送的数据 complete :function(){},//AJAX请求完成时隐藏loading提示 success: callbackFun//msg为返回的数据,在这里做数据绑定 }); } function callbackFun(msg){ $("#totalCount").html(msg.totalCount); $("#page").html(msg.page); $("#totalPage").html(msg.totalPage); var data = msg.list; var node=document.getElementById("datas"); removeChildrenRecursively(node); var xy=$("#xy").find("option:selected").text(); $.each(data, function(i, n){ var row=$("<tr id=template align=center>"+ "<td id=xmtd></td>"+ "<td id=xstd></td>"+ "<td id=dhtd></td>"+ "<td id=actd></td>"+ "<td id=mmtd></td>"+ "<td id=lxtd></td>"+ "<td id=bjtd></td>"+ "<td id=sctd></td>"+ "<td id=operator></td></tr>" ); row.find("#xmtd").text(n.xm); row.find("#xstd").text(xy); row.find("#dhtd").text(n.dh); row.find("#actd").text(n.ac); row.find("#mmtd").text(n.mm); row.find("#lxtd").text(n.lx); row.find("#bjtd").text("编辑"); row.find("#sctd").html("<a href=../../DelAccount.action?id="+n.id+">删除</a>"); row.find("#operator").html("<input type=checkbox id="+n.xh+" value="+n.xh+"/>");; row.attr("id","ready");//改变绑定好数据的行的id row.appendTo("#datas");//添加到模板的容器中 }); } JScript code 复制代码 代码如下: function getChildNodeArrayByParentID(categoryCode) { var result=""; $.ajax( { type: "get", url: "DynamicMenuItemsHandler.ashx", data: { MenuItemCode: categoryCode }, async: false, success: function(data) { result = data; } }); return result; } var jsonArray = getChildNodeArrayByParentID(01); success: function(data) { return data; } 这里是回调函数返回data而不是你定义的函数返回,修改如下: function getChildNodeArrayByParentID(categoryCode) { var result; $.ajax( { type: "get", url: "DynamicMenuItemsHandler.ashx", data: { MenuItemCode: categoryCode }, async: false, success: function(data) { result = data; } }); return result; } |