来自get请求的JSON没有正确返回

时间:2017-07-22 20:38:39

标签: javascript node.js http heroku

我正在运行Heroku服务器而我正在尝试更改网站上的innerHTML以显示从服务器端点收集的某些统计信息:

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始终为null。有什么建议吗?

1 个答案:

答案 0 :(得分: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问题。您应该检查浏览器的控制台以确保没有错误。