-1

第一个函数从 url 获取 json 并将其推送到数组中

var resultsArr = new Array();

// getResults()
// JSON response function -> takes uuid returned from search query
// and pings reponse url for any/all JSON objects of returned data
function getResults(req_uuid) {
    console.log("url fetched");
    $.getJSON( $SCRIPT_ROOT + "/respond?id=" + req_uuid, function(data) {
        console.log(data);
        resultsArr.push(data);
    });
}

我有另一个功能,只需单击一个按钮即可运行,该按钮将以给定的时间间隔uuid传入。getResults()这一切都在工作。我什至将整个数组转换为字符串,并在调用相关函数之前将其附加到 div 中。(这也有效)。我在调用之前记录了数组中的元素数量;

console.log( resultsArr.length + " items in array")

这个日志=4 items in array

然后调用该函数;

function showResults(array) {
    var index = array.length;
    console.log( index + " items in array");

}

这返回undefined items in array。我很困惑。

4

1 回答 1

1

您想showResults()在收到新数据并将其推送到 ajax 回调中的数组后调用。

var resultsArr = new Array();

// getResults()
// JSON response function -> takes uuid returned from search query
// and pings reponse url for any/all JSON objects of returned data
function getResults(req_uuid) {
    console.log("url fetched");
    $.getJSON( $SCRIPT_ROOT + "/respond?id=" + req_uuid, function(data) {
        console.log(data);
        resultsArr.push(data);
        showResults(resultsArr);// <--- here
    });
}
于 2013-07-10T03:47:33.697 回答