我试图弄清楚如何向BandsInTown API发送请求并且能够从包含的返回JSON页面中提取一些元素(日期时间和地点纬度和经度)。音乐活动信息。我对JavaScript和Web开发都很陌生,所以非常感谢任何帮助!我用作请求的网址是:http://api.bandsintown.com/artists/Hippo%20Campus/events.json?lapi_version=2.0&app_id=music_matcher
我将实现更改名为的艺术家的灵活性。
我不确定是否应该添加' callback = 某些内容'网址中的参数是否也是。我已经查看了“请求”和“#39;请求'库通过Node.js,但我不完全确定如何让Node.js和npm通过Eclipse Neon(我正在使用的IDE)工作,所以我真的想让它保持简单并找到一个纯javascript解决方案,我可以直接在Eclipse中的脚本中实现。我不太了解如何提取JSON并在我的脚本中稍后将其称为results[0].venue.latitude
(为了返回会场的纬度)或者其他任何结果'对象将被调用(这也是我的问题的一部分)。我是否需要将此信息放入对象中?
答案 0 :(得分:0)
除了像这样的异步HTTP请求之外,我最终还使用了JSON.parse():
function httpGetAsync(theUrl, callback) { //theURL or a path to file
var httpRequest = new XMLHttpRequest();
httpRequest.onreadystatechange = function() {
if (httpRequest.readyState == 4 && httpRequest.status == 200) {
var data = JSON.parse(httpRequest.responseText);
if (callback) {
callback(data);
}
}
};
httpRequest.open('GET', theUrl, true);
httpRequest.send(null);
}
并称之为:
httpGetAsync(url, function(data) {
document.write(data[0].venue.latitude);
document.write(data[0].venue.longitude);
document.write(data[0].datetime);
});
但是,这种方法只允许我对api进行一次干净的调用。当我尝试使用一个使用不同url调用该函数的循环进行多次调用时,我的脚本似乎在第一个之后终止。因此,对于我的应用来说,这仍然是一个问题。