首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Ajax >

jquery+ajax +json调用,已有数据返回但取数据等于undefined解决办法

2012-04-07 
jquery+ajax +json调用,已有数据返回但取数据等于undefinedfunction QTContent() {$.ajax({async: false,t

jquery+ajax +json调用,已有数据返回但取数据等于undefined
function QTContent() {
  $.ajax({
  async: false,
  type: "GET",
  url: "../ajax/ajaxSJ.ashx?t=3",
  cache: false,
  success: function(msg) {
  $("#divQT").html("");
  var b = "";

  $.each(msg, function(i,n) {
  //msg已取到数据

  if (i < 7) {
  var content = msg["_2"];//这里获取的值undefined,这是为什么呢?
  b += " <table width='260' border='0' cellspacing='0' cellpadding='0'>";
  b += " <tr><td width='95'><table width='95' height='74' border='0' cellpadding='0' cellspacing='0' class='kang'>";

  b += "<tr><td align='center'><a href=#'><img src='http://localhost:5656/images/qltj-pic1.jpg' width='87' height='66' border='0' /></a></td>";
  b += "</tr></table></td>";
  b += "<td valign='top'><img src='http://localhost:5656/images/menu-line.gif' width='15' height='36' /></td>";
  b += "<td width='155' valign='top'><img src='http://localhost:5656/images/menu-line.gif' width='135 height='9' /><br />";
  b += " <span class='qdtj'>" + msg["_4"] + "</span><br />";
  b += "<img src='http://localhost:5656/images/menu-line.gif' width='135' height='9' /><br />";
  b += "<a href='#' class='m2'>" + content + "<br /></a></td>";

  b += "</tr></table>";
  b += "<table width='135' height='3' border='0' cellpadding='0' cellspacing='0'>";
  b += "<tr><td><img src='http://localhost:5656/images/menu-line.gif' width='135' height='3' /></td> </tr> </table>";
  }

  });
  $("#divQT").empty();

  $("#divQT").append(b.toString());


  }
  });
  $("#divQT").ajaxStop(function() { $(this).fadeIn(500); }); //结束ajax
  }

JSON数据
[{"_0":"9","_1":"战争8","_2":"战争战争战争争","_3":"/Manager/Public/ADImages/201203141018194687lxfs.jpg","_4":"../vode","_5":"2011-2-10 0:00:00","_6":"管理员","_7":"2","_8":"0","_9":"王牌影视"},{"_0":"8","_1":"战争7","_2":"战争战争战争战争战争战争战争战争","_3":"/Manager/Public/ADImages/201203141018194687lxfs.jpg","_4":"../vode","_5":"2011-2-9 0:00:00","_6":"管理员","_7":"2","_8":"0","_9":"王牌影视"},{"_0":"7","_1":"战争6","_2":"战争战争战争战争战争战争战争战争","_3":"/Manager/Public/ADImages/201203141018194687lxfs.jpg","_4":"../vode","_5":"2011-2-8 0:00:00","_6":"管理员","_7":"2","_8":"0","_9":"王牌影视"},{"_0":"6","_1":"战争5","_2":"战争战争战争战争战争战争战争战争","_3":"/Manager/Public/ADImages/201203141018194687lxfs.jpg","_4":"../vode","_5":"2011-2-7 0:00:00","_6":"管理员","_7":"2","_8":"0","_9":"王牌影视"},{"_0":"5","_1":"战争4","_2":"战争战争战争战争战争战争战争战争","_3":"/Manager/Public/ADImages/201203141018194687lxfs.jpg","_4":"../vode","_5":"2011-2-6 0:00:00","_6":"管理员","_7":"2","_8":"0","_9":"王牌影视"},{"_0":"3","_1":"战争2","_2":"战争战争战争战争战争战争战争战争","_3":"/Manager/Public/ADImages/201203141018194687lxfs.jpg","_4":"../vode","_5":"2011-2-4 0:00:00","_6":"管理员","_7":"2","_8":"0","_9":"王牌影视"},{"_0":"1","_1":"战争","_2":"战争战争战争战争战争战争战争战争","_3":"/Manager/Public/ADImages/201203141018194687lxfs.jpg","_4":"../vode","_5":"2011-2-3 0:00:00","_6":"管理员","_7":"2","_8":"0","_9":"王牌影视"}]



[解决办法]
。。。
success: function(msg) {
alert( msg )
$("#divQT").html("");
。。。。



有值吗?
[解决办法]
$("#divQT").html("");这是什么写法?$("#divQT").html();
[解决办法]
var content = msg["_2"];//这里获取的值undefined,这是为什么呢?

试试 n["_2"]
[解决办法]
你如果想直接用msg这个数组,就不要用$.each
直接msg[0]["_2"]是可以的
如果用了$.each,i是index,n是value
msg[i]["_2"]
n["_2"]
你试试看哪种可以
[解决办法]
msg["_4"]获取的是空值

msg是回的json对象,
msg["_4"]你这是什么意思?
“4”:“xx” 你要取这个值 应该是msg.4,得到 xx



[解决办法]
不管你用几个ajax
success: function(msg)
msg的作用范围只在这个函数内,你alert(msg)有值,那么如果你在1楼贴出的格式正确,弹出的应该是[Object,Object,Object,Object,Object],代表是一个数组

你用一下 msg[0]._2

[解决办法]

探讨
引用:
不管你用几个ajax
success: function(msg)
msg的作用范围只在这个函数内,你alert(msg)有值,那么如果你在1楼贴出的格式正确,弹出的应该是[Object,Object,Object,Object,Object],代表是一个数组

你用一下 msg[0]._2

success: function(msg) ……

热点排行