Javascript InnerHTML更新不工作

Javascript InnerHTML更新不工作,javascript,html,ajax,Javascript,Html,Ajax,这是我的密码。此代码是一个单击按钮即可执行的函数的一部分。它确实执行了AJAX请求,但是innerHTML没有更新。这就是它变得非常奇怪的地方。我进入浏览器,进入JS控制台,输入display.innerHTML=xmlHttp.response。然后它会更新。我制作了第二个按钮,带有display.innerHTML=xmlHttp.response作为onclick事件。。。然后就发生了。但如果我把它作为第一个按钮onclick事件的第二行?不走运。我如何解决这个令人困惑的问题 这是因为xm

这是我的密码。此代码是一个单击按钮即可执行的函数的一部分。它确实执行了AJAX请求,但是innerHTML没有更新。这就是它变得非常奇怪的地方。我进入浏览器,进入JS控制台,输入
display.innerHTML=xmlHttp.response。然后它会更新。我制作了第二个按钮,带有
display.innerHTML=xmlHttp.response作为onclick事件。。。然后就发生了。但如果我把它作为第一个按钮onclick事件的第二行?不走运。我如何解决这个令人困惑的问题

这是因为xmlHttp是异步的。您需要在响应到达后进行修改。它在您在js控制台中键入时的持续时间内

您需要在onload事件中设置内部html:

xmlHttp = new XMLHttpRequest(); 
xmlHttp.open( "GET", "myurlhere.php", true );
xmlHttp.send();
var display = document.getElementById("display");
display.innerHTML = xmlHttp.response;

这是因为xmlHttp是异步的。您需要在响应到达后进行修改。它在您在js控制台中键入时的持续时间内

您需要在onload事件中设置内部html:

xmlHttp = new XMLHttpRequest(); 
xmlHttp.open( "GET", "myurlhere.php", true );
xmlHttp.send();
var display = document.getElementById("display");
display.innerHTML = xmlHttp.response;

您正在传递
true
以异步发送。这意味着在等待响应的同时,代码的其余部分正在执行。换句话说,您试图在从服务器实际获取数据之前将数据插入html。因此,您需要一个回调,以便在获得数据后立即启动:

xmlHttp = new XMLHttpRequest(); 
xmlHttp.open( "GET", "myurlhere.php", true );
xmlHttp.onload = function(e) {
  var display = document.getElementById("display");
  display.innerHTML = xmlHttp.response;  
}
xmlHttp.send();

您正在传递
true
以异步发送。这意味着在等待响应的同时,代码的其余部分正在执行。换句话说,您试图在从服务器实际获取数据之前将数据插入html。因此,您需要一个回调,以便在获得数据后立即启动:

xmlHttp = new XMLHttpRequest(); 
xmlHttp.open( "GET", "myurlhere.php", true );
xmlHttp.onload = function(e) {
  var display = document.getElementById("display");
  display.innerHTML = xmlHttp.response;  
}
xmlHttp.send();

伟大的很有魅力,太棒了!工作起来很有魅力。