所以我正在使用AJAX从网站上搜集播放器名称及其各自的评级。我有AJAX返回一个JSON对象,我正在尝试使用jQuery将JSON对象的每个元素作为列表项追加到有序列表中。
以下是代码:
$('#rankings_link').click(function(){
$.ajax({
dataType: 'json',
url: '/rankings',
type: 'get'
}).done(function(received_data){
for (var m = 0; m < received_data.length; m++) {
$('#rankings ol').append('<li>' + received_data[m] + '</li>');
}
但是当我查看我的localhost:3000 /排名页面时,它只是一大堆玩家名称(正确排序),但根本没有格式化为列表。
这里发生了什么?
提前致谢, Mariogs
答案 0 :(得分:0)
http://www.w3schools.com/json/json_eval.asp
我会使用eval将json字符串转换为可以通过
循环数组的对象var rankings = eval ("(" + received_data + ")");
for (var m = 0; m < rankings.length; m++) {
$('#rankings ol').append('<li>' + rankings[m].(whatever piece of data you want from your json object) + '</li>');
}
如果您仍然无法告诉我您的json字符串是什么样的。
答案 1 :(得分:0)
我会使用$ .each循环来对收到的数据进行排序。 json对象是一组无序的键/值对。当你使用$ .each循环时,你可以将它们分开并利用你正在寻找的价值(玩家信息)。像这样:
$('#rankings_link').click(function(event){
event.preventDefault();
$.ajax({
dataType: 'json',
url: '/rankings',
type: 'get'
}).done(function(received_data){
$.each(received_data, function(index, player){
$('#rankings ol').append('<li>' + player + '</li>');
});
});
});