无法仅从通过php页面获取的json数据返回用户名

时间:2014-05-10 10:13:10

标签: javascript php jquery ajax json

我能够从外部php页面获取json数据并将其打印在JavaScript控制台上。但这些都是形式对象。以下是我在控制台上收到的数据:

[{"id":"1","username":"iammuneeb","password":"4297f44b13955235245b2497399d7a93","name":"Mirza Muneeb"},{"id":"2","username":"iamfaiz","password":"4297f44b13955235245b2497399d7a93","name":"Faiz"}]

如何仅提取用户名并将其转换为有序列表。 (OL)

这是我到目前为止所做的:

$(document).ready(function (e) {
    $('#delete').click(function (e) {
        var jsonData = getResultsInJson(username);
        jsonData.success(function (data) {
            var output = "<ol>";
            for (var i in data) {
                output += "<li>" + data.username + "</li>";
            }
            output += "</ol>";
            $('#placeholder').html(data);
            console.log(data.username);
        });
    });
});

这是getResultsInJson():

function getResultsInJson(sql) {
    return $.ajax({
        url: 'commands.php',
        data: 'results=' + sql,
        dataType: 'json'
    });
}

2 个答案:

答案 0 :(得分:2)

当您使用for(x in y)格式时,x是键,y是数组或对象。由于我只是关键,你需要将它作为一个使用:

 for (var i in data) {
            output += "<li>" + data[i].username + "</li>";
        }

答案 1 :(得分:0)

你是否按字母顺序需要它们?

尝试这样的事情:

$(document).ready(function() {

var json = [{"id":"1","username":"iammuneeb","password":"4297f44b13955235245b2497399d7a93","name":"Mirza Muneeb"},{"id":"2","username":"iamfaiz","password":"4297f44b13955235245b2497399d7a93","name":"Faiz"}];

    var usernames = new Array();
    $.each(json, function(index, object) {
       usernames[index] = object.username;
    });
    var sorted = usernames.sort();

    var output = '';
    $.each(sorted, function(index, value) {
         output += '<li>' + value + '</li>';
    });
     $('#placeholder').html('<ol>' + output + '</ol>');
});