javascript - 使用异步回调在函数之间传递 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);
});
解决方案
您没有在countries
函数中获取 jsonData。
function countries(jsonData) {
console.log(jsonData);
}
推荐阅读
- javascript - 在不同的js页面中定义Vue方法函数
- angular - Angular Jasmin ObjectSpy 不是函数
- moodle - 当学生开始课程或完成课程时,如何获得 Moodle 的回复?
- javascript - Jquery 测试套件没有通过
- python - Python:如何更新散景中的数据选择?
- pentaho - 在转型 Pentaho 中处理 2700 万条记录
- angular - 我该如何解决这个错误以及它发生的原因?
- python - 在python中标记图像以进行分类
- php - 我怎样才能得到一个字符串后面的单词?
- css - SCSS mixin 跳过默认参数