JSON对象长度返回一个大值而不是预期的750条记录

时间:2016-05-31 08:39:58

标签: javascript jquery json ajax

我试图将记录附加到我的表中,这些记录是从一个返回JSON的AJAX请求中加载的,但是如果我尝试使用output.length它会返回一个大数而不是750个记录。这会导致for循环运行10000次而不是750次。为什么会这样?

$(document).ready(function() {
    getData();
});

function getData() {
    $.ajax({
        data: {
            action: 'getData'
        },
        url: "api/ajaxcall.php",
        type: 'post',
        async: false,
        dataType: 'html',
        success: function(output) {
            console.log(output.length);
            // buildTable(result);
        }
    });
}

function buildTable(output) {
    for (var i = 0; i < output.length; i++) {
        $('<tr>').append(
            $('<td>').text(output[i].naam),
            $('<td>').text(output[i].perc),
            $($('<input id="' + output[i].id + '" onclick="editData(this)" type = "button" value = "Edit" />')),
            $($('<input id="' + output[i].id + '" onclick="readData(this)" type = "button" value = "Read" />')),
            $($('<input id="' + output[i].id + '" onclick="deleteRow(' + output[i].id + ')" type = "button" value = "Delete" />'))
        ).appendTo('#tableA');
    }
}

1 个答案:

答案 0 :(得分:0)

检查可能

function getData() {
$.ajax({
    data: {
        action: 'getData'
    },
    url: "api/ajaxcall.php",
    type: 'post',
    async: false,
    dataType: 'html',
    success: function(output) {
        output = JSON.parse(output.d); //May it need to parse the string
        console.log(output.length);
        // buildTable(result);
    }
});

}