我知道这个问题可能看起来过于局部化,但我似乎无法让它发挥作用。
这是我的方法返回的JSON:
{ "dateTime" : "5/26/2011",
"requestTime" : 0.1020102,
"users" : [ { "Email" : "joem@email.com",
"Location" : "home",
"Name" : "Joe M",
"UserId" : "42a7eae4-d4fe-49a3-93df-cd0cf219ac95"
},
{ "Email" : "test@test.net",
"Location" : "Work",
"Name" : "Test Name",
"UserId" : "97a444fb-6e3d-482c-a966-dbd3e0c739c8"
}
]
}
我正在使用的jQuery是这样的:
$.ajax({
type: "POST",
url: "Home/GetUsers",
data: dataString,
success: function (data) {
$.each(data.users, function(i, item) {
$("#results").append('<p>' + item.Name + '</p>');
});
}
我要么未定义,要么没有任何反应。
如果我发出警报(数据),我会得到Object对象,所以我知道它正在返回一些内容。
显然我在这里做错了,所以非常感谢任何帮助。
谢谢!
答案 0 :(得分:1)
您也可以尝试这样做:
$.post('Home/GetUsers', dataString, function(result) {
$(result.users).each(function(i, item){
$('#results').append('<p>'+item.Name+'</p>');
});
},'json'
});
答案 1 :(得分:1)
alert(data.users)显示你未定义? 尝试添加dataType:'text',然后做警报(数据)并检查你是否得到了正确的json:/
这对我有用:
var data = { "dateTime" : "5/26/2011",
"requestTime" : 0.1020102,
"users" : [ { "Email" : "joem@email.com",
"Location" : "home",
"Name" : "Joe M",
"UserId" : "42a7eae4-d4fe-49a3-93df-cd0cf219ac95"
},
{ "Email" : "test@test.net",
"Location" : "Work",
"Name" : "Test Name",
"UserId" : "97a444fb-6e3d-482c-a966-dbd3e0c739c8"
}
]
};
$(data.users).each(function(i, item) {
$("#results").append('<p>' + item.Name + '</p>');
});