[英]native javascript rest api call
我正在嘗試進行api調用,以在不使用任何js框架的情況下使用本機javascript獲取Spotify專輯。 我遇到無法使用本機js發送Oauth令牌的問題。 對於Spotify,我有客戶端ID和客戶端代碼。 我可以使用它或Oa
(function() {
var xhr = new XMLHttpRequest();
xhr.open("GET", "https://api.spotify.com/v1/albums", false);
xhr.send();
document.getElementById("results").innerHTML = xhr.responseText;
})();
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提供的鏈接。 總是總要了解為什么某事不起作用,而不是僅僅使它起作用。 這是一個模擬請求,可幫助您入門。 希望這可以幫助!
我認為您需要閱讀有關如何使用XMLHttpRequest的基本教程,您可以在這里找到
代碼的一個直接問題是它沒有使用任何回調來讀取從服務器返回的結果。 所有這些都是異步發生的,因此在您的情況下,您正在send()
請求,然后立即將innerHTML
設置為服務器可能還不可用的值。
查看教程,了解如何在服務器准備就緒時從服務器取回該信息。
注意使用myFunction
回調,並注意使用onreadystatechange
。 這里發生的是send()
在單獨的執行線程中向服務器發送內容。 您需要注冊一個回調函數,當服務器報告該數據可用時( 而不是立即),該回調函數將執行數據獲取和DOM更新。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.