我正在运行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。有什么建议吗?
答案 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问题。您应该检查浏览器的控制台以确保没有错误。