2015-12-02 60 views
0

我想通過javascript從alchemyne​​wsapi獲取數據。我收到的樣品數據:通過javascript從REST API獲取JSON數據顯示部分數據

{ 
"status": "OK", 
"totalTransactions": "68", 
"result": { 
    "docs": [ 
     { 
      "id": "ODU1MjM4MjM0NnwxNDQ5MDk0Mzgy", 
      "source": { 
       "enriched": { 
        "url": { 
         "title": "North Scituate observatory hosts workshop on telescopes", 
         "url": "http://www.providencejournal.com/article/20151201/entertainmentlife/151209982" 
        } 
       } 
      }, 
     { 
      "id": "ODEzMzYxODU5MHwxNDQ5MDYyMjM0", 
      "source": { 
       "enriched": { 
        "url": { 
         "title": "Mob Programming Workshop", 
         "url": "https://www.eventbrite.com/e/mob-programming-workshop-tickets-19710798529" 
        } 
       } 
      }, 
      "timestamp": 1449062234 
     } 
    ], 
    "next": "MzY5OTc0NjQzNzI2MjMxNzM2N3xPREU1TnpnNU9EWXhPSHd4TkRRNU1EWTNPVFE1", 
    "status": "OK" 
    } 
} 

我試圖檢索數據的標題和URL字段中輸入以下:

var jsonData=getJSON('http://urlofapi').then(function(data) { 
for(var i=0; i<data.result.docs.length; i++) 
{ 
    result.innerText = data.result.docs[i].source.enriched.url.title; //for retrieving the title field 
} 
}, function(status) { //error detection.... 
alert('Something went wrong.'); 
}); 

的getJSON是我創建了一個功能:

var getJSON = function(url) { 
return new Promise(function(resolve, reject) { 
var xhr = new XMLHttpRequest(); 
xhr.open('get', url, true); 
xhr.responseType = 'json'; 
xhr.onload = function() { 
    var status = xhr.status; 
    if (status == 200) { 
    resolve(xhr.response); 
    } else { 
    reject(status); 
    } 
}; 
xhr.send(); 
}); 
}; 

但它只顯示數據的最後一個標題,即這裏的「Mob ...」

需要什麼如果有100件物品要完成檢索所有標題?

回答

0

這是相當正常的,你的代碼有:

result.innerText = data.result.docs[i].source.enriched.url.title; //for retrieving the title field 

這意味着你不斷地與新標題替換result的內容,所以在最後,你顯示最後一個。

您需要以某種方式連接數據,或者如果您只是想在查看結果之前查看結果,請使用console.log

+0

謝謝你的回答幫助了我。 –

+0

@SangitDhanani,如果它被證明有用,隨時接受和/或提出答案。 – jcaron

+0

哦,對不起,我對這件事很陌生,所以我知道這件事。 –