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

QWER_ASDFASDF 2012-03-21 10:46:58
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":"王牌影视"}]
...全文
577 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
QWER_ASDFASDF 2012-03-21
  • 打赏
  • 举报
回复
谢谢各位!原因找到了,返回的数据集类型没明确定义!
QWER_ASDFASDF 2012-03-21
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 acesidonu 的回复:]
引用 10 楼 qwer_asdfasdf 的回复:
引用 9 楼 konghulu 的回复:
不管你用几个ajax
success: function(msg)
msg的作用范围只在这个函数内,你alert(msg)有值,那么如果你在1楼贴出的格式正确,弹出的应该是[Object,Object,Object,Object,Object],代表是一个数组

你用一下 msg[0]._2……
[/Quote]
[Object,Object,Object,Object,Object],代表是一个数组

Acesidonu 2012-03-21
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 qwer_asdfasdf 的回复:]
引用 9 楼 konghulu 的回复:
不管你用几个ajax
success: function(msg)
msg的作用范围只在这个函数内,你alert(msg)有值,那么如果你在1楼贴出的格式正确,弹出的应该是[Object,Object,Object,Object,Object],代表是一个数组

你用一下 msg[0]._2

success: function(msg) ……
[/Quote]
第一个弹出数据是对象还是字符串
QWER_ASDFASDF 2012-03-21
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 konghulu 的回复:]
不管你用几个ajax
success: function(msg)
msg的作用范围只在这个函数内,你alert(msg)有值,那么如果你在1楼贴出的格式正确,弹出的应该是[Object,Object,Object,Object,Object],代表是一个数组

你用一下 msg[0]._2
[/Quote]
success: function(msg) {
$("#divQT").html("");
var b = "";
alert(msg);
alert(msg[0]._2);
第一个弹出有数据,第2个是undefined
潮起潮落 2012-03-21
  • 打赏
  • 举报
回复
不管你用几个ajax
success: function(msg)
msg的作用范围只在这个函数内,你alert(msg)有值,那么如果你在1楼贴出的格式正确,弹出的应该是[Object,Object,Object,Object,Object],代表是一个数组

你用一下 msg[0]._2
zuxianghuang 2012-03-21
  • 打赏
  • 举报
回复
msg["_4"]获取的是空值

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


QWER_ASDFASDF 2012-03-21
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 konghulu 的回复:]
你如果想直接用msg这个数组,就不要用$.each
直接msg[0]["_2"]是可以的
如果用了$.each,i是index,n是value
msg[i]["_2"]
n["_2"]
你试试看哪种可以
[/Quote]
我是一个页面了有两个$ajax调用,直接msg[0]["_2"],返回的也是undefined
QWER_ASDFASDF 2012-03-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 calmcrime 的回复:]
。。。
success: function(msg) {
alert( msg )
$("#divQT").html("");
。。。。



有值吗?
[/Quote]
潮起潮落 2012-03-21
  • 打赏
  • 举报
回复
你如果想直接用msg这个数组,就不要用$.each
直接msg[0]["_2"]是可以的
如果用了$.each,i是index,n是value
msg[i]["_2"]
n["_2"]
你试试看哪种可以
QWER_ASDFASDF 2012-03-21
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zsx841021 的回复:]
$("#divQT").html("");这是什么写法?$("#divQT").html();
[/Quote]
本意是把以前加载的去掉,现在是mag已有数据但msg["_4"]获取的是空值
潮起潮落 2012-03-21
  • 打赏
  • 举报
回复
var content = msg["_2"];//这里获取的值undefined,这是为什么呢?

试试 n["_2"]
三石-gary 2012-03-21
  • 打赏
  • 举报
回复
$("#divQT").html("");这是什么写法?$("#divQT").html();
001007009 2012-03-21
  • 打赏
  • 举报
回复
。。。
success: function(msg) {
alert( msg )
$("#divQT").html("");
。。。。



有值吗?

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧