我正在尝试使用api调用来获取本机javascript中的spotify专辑而不使用任何js框架。我遇到了无法使用本机js发送Oauth令牌的问题。对于spotify我有客户端ID和客户端scret。我可以使用它或Oa
(function() {
var xhr = new XMLHttpRequest();
xhr.open("GET", "https://api.spotify.com/v1/albums", false);
xhr.send();
document.getElementById("results").innerHTML = xhr.responseText;
})();
答案 0 :(得分:1)
function request(callback) {
var xobj = new XMLHttpRequest();
// true parameter denotes asynchronous
xobj.open('GET', YOUR_URL_HERE, true);
xobj.onreadystatechange = function () {
if (xobj.readyState == 4 && xobj.status == "200") {
// This marks that the response has been successfully retrieved from the server
// Utilize callback
callback(xobj.responseText);
}
};
xobj.send(null);
}
我肯定会建议您查看Frobber提供的链接。理解为什么某些事情不起作用而不仅仅是让它发挥作用总是更好。这是一个模拟请求,可以帮助您入门。希望这有帮助!
答案 1 :(得分:0)
我认为您需要阅读有关如何使用XMLHttpRequest的基本教程,您可以find here
您的代码的一个直接问题是它没有使用任何回调来读取从服务器返回的结果。这一切都是异步发生的,所以在你的情况下发生的事情就是你{{}} {{}}请求,然后立即将send()
设置为一个可能不是{&1;}的值。甚至可以从服务器上获得。
检查教程,了解如何在服务器准备好后从服务器获取该信息。
请注意使用innerHTML
回调,并注意使用myFunction
。这里发生的是onreadystatechange
在一个单独的执行线程中向服务器发送内容。您需要注册一个回调函数,当服务器报告数据可用时,它将执行数据获取和DOM更新,不。