多数民众赞成在我的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");
}
})