首页 > 解决方案 > 使用异步回调在函数之间传递 jsondata

问题描述

我有发送 xmlreq 来获取 json 的函数,在另一个函数中我使用 json 数据来做一些事情。我已经搜索并遇到了“回调”,但控制台日志说它在我的第二个函数中没有“定义”,我在其中使用 json 进行处理。

有什么建议么?还是有另一种用js做的方法?

Javascript:

function get_xml(url,callback) {
var xhr = new XMLHttpRequest();

xhr.onreadystatechange = function myfunction() {
    if (xhr.readyState == XMLHttpRequest.DONE) {
        if (xhr.status == 200) {
            var jsonData = JSON.parse(xhr.responseText);
            callback(jsonData);
            return callback;
        }
        else if (xhr.status == 400) {
            alert('There was an error 400');
        }
        else {
            alert('Var vänlig och försök igen! Tack för din tålamod!');
             }


    }

};

xhr.open("GET", url, true);

xhr.send();

}

function countries() {
    console.log(jsonData);
}

document.getElementById('btn1').addEventListener("click", () => {
    var url = "something";
    get_xml(url,countries);
});

标签: javascript

解决方案


您没有在countries函数中获取 jsonData。

function countries(jsonData) {
    console.log(jsonData);
}

推荐阅读