多数民众赞成在我的JavaScript:

<script>
 $('#DIVID01').text("Loading...");
 var Httpreq = new XMLHttpRequest();
 Httpreq.open("GET", 'http://httpbin.org/ip', false);
 Httpreq.send(null);
 $('#DIVID01').text("Done");
</script>


当我逐行调试时,以下代码显示了DIVID01的第一个更改,但在调用此函数时未进行调试,则需要2到3秒钟才能结束,并且屏幕上仅显示单词“ Done”。问题是第一行代码似乎不适用于此申请。

最佳答案

XMLHttpRequest是一个异步请求&js不会等待响应,它将触发异步请求并在这种情况下立即移至下一行$('#DIVID01').text("Done");并更新DOM。但您的情况是,收到响应后,dom将更新为“ done”。

由于您已经在使用jquery,希望您不介意使用jquery.ajax;和

$.ajax({
  url:"some url",
  type:"GET",
  success:function(){
    $('#DIVID01').text("Done");
  }
})

10-06 01:50