2017-07-22 84 views
0

我正在一個Heroku的服務器,我試圖改變我的網站上innerHTML來顯示從端點收集到的服務器上的某些統計:JSON從GET請求沒有返回正確

var xhr = new XMLHttpRequest(); 
xhr.open("GET", url, true); 
xhr.send(); 
xhr.onreadystatechange = processRequest; 

var element = document.getElementById('change'); 
element.innerHTML = xhr.valueinJSON; 

function processRequest(e) { 
    if (xhr.readyState == 4 && xhr.status == 200) { 
    var response = JSON.parse(xhr.responseText); 
    alert(response.ip); 
    } 
} 

我的腳本標籤包含上述內容,雖然端點在Postman中正常工作,但JSON始終爲空。有什麼建議麼?

+0

你能運行'console.log(xhr.responseText)'並在你的問題中顯示結果嗎? – dama

回答

0

我不確定valueinJSON是否來自我不熟悉的API,但我找不到對它的引用。無論哪種方式,你需要改變你的innerHTML在異步函數是這樣的:

if (xhr.readyState == 4 && xhr.status == 200) { 
    var response = JSON.parse(xhr.responseText); 
    var element = document.getElementById('change'); 
    element.innerHTML = response 

} 

您正在嘗試設置innerHTML瀏覽器有機會下載它。

這裏假設沒有CORS問題。你應該檢查你的瀏覽器的控制檯,以確保沒有錯誤。