簡體   English   中英

試圖在 HTML 中顯示 API 數據

[英]Trying to Display API Data in HTML

我正在嘗試進行 API 調用並在我的 HTML 頁面上顯示該數據。 當前單擊按鈕時未顯示任何數據,但 API 調用成功,因為我可以在另一個頁面上跟蹤我的使用情況。 我的代碼如下:

<!DOCTYPE html>
<html>
<body>

<h1>API Data</h1>

<div id="container">
    <div id="api">Nothing Yet</div>
</div>

<br>

<button type="button" onclick="loadAPI()">Change Content</button>

<script>
function loadAPI() {
  var xhttp = new XMLHttpRequest();
  xhttp.open("GET", "API URL with Token here", false);
  xhttp.addEventListener("load", loadData);
  xhttp.send();
}

function loadData() {
  document.getElementById('api').innerText = JSON.parse(this.responseText);
}
</script>

</body>
</html>

沒有數據顯示,因為您沒有將數據放入目標元素。

要將數據插入#api,您需要執行以下操作

document.getElementById('api').innerHTML = apiResponse; // no underscore
// or
document.getElementById('api').innerText = apiResponse;

我會把它留給你閱讀安全性。 https://developer.mozilla.org/en-US/docs/Web/API/Element/innerHTML

此外, 除非另有說明(在參數中),否則 XMLHttpRequest 是異步的。 所以最可靠的方式是在load事件監聽器中顯示數據。 您的最終代碼應類似於:

// Making a XMLHttpRequest
function loadAPI() {
  var xhttp = new XMLHttpRequest();
  xhttp.open("GET", "API URL with Token Here", false);
  xhttp.addEventListener("load", loadData);
  xhttp.send();
}

// Displaying the data
function loadData() {
  document.getElementById('api').innerText = this.responseText;
}

請注意,如果您的響應在 JSON 中,則需要JSON.parse(this.responseText)來訪問數組/對象。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM