我是 Web 開發的新手,我一直在嘗試使用來自不同 API 的資料構建表,但遇到了物件中包含數字鍵的回應的問題。
我得到回應以顯示在日志中,但無法將資料獲取到表中。
我重用了之前測驗中的代碼(成功),但在這個測驗中,鍵是數字的。這是回應:
{"345017":"Simo","345019":"Simola","345020":"email","360241":"This is a comment","360858":"CEO","360859":"Test Company AS","360895":"Mr.","362692":"Football"}
這是我從之前成功的測驗中重復使用的代碼:
window.onload=function(){
document.getElementById('button').addEventListener('click', loadRest);
function loadRest() {
window.onload=function(){
document.getElementById('button').addEventListener('click', loadRest);
function loadRest() {
var myArray = []
buildTable(myArray)
$.ajax({
method: 'GET',
url: '(url here)',
Accept: 'application/json',
beforeSend: function (xhr) {
xhr.setRequestHeader('Authorization', 'Bearer (token here)');
},
success:function(response){
myArray = response
buildTable(myArray)
console.log(myArray)
}
})
function buildTable(object){
var table = document.getElementById('myTable')
{
for (var i = object; i < object.length; i ){
var row = `<tr>
<td>${object[i][345017]}</td>
<td>${object[i][345019]}</td>
<td>${object[i][345020]}</td>
<td>${object[i][360241]}</td>
<td>${object[i][360858]}</td>
<td>${object[i][360859]}</td>
<td>${object[i][360895]}</td>
<td>${object[i][362692]}</td>
</tr>`
table.innerHTML = row
}
}}}}
這個和成功的區別在于,成功的有字母作為鍵,例如 <td>${items[I].name}</td>,它是一個陣列而不是一個物件。
任何幫助,將不勝感激。
uj5u.com熱心網友回復:
你可以試試這段代碼
function buildTable(obj){
var table = document.getElementById('myTable');
Object.keys(obj).forEach((prop) => {
var row = `<tr>
<td>${obj[prop]}</td>
</tr>`
table.innerHTML = row
});
}
結果
Simo
Simola
email
This is a comment
CEO
Test Company AS
Mr.
Football
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/445094.html
標籤:javascript html json 阿贾克斯
