我对javascript执行顺序感到困惑

时间:2017-09-04 13:26:31

标签: javascript

你能解释一下这些代码块之间的区别吗?

我无法得到它!

 $('document').ready(function(){
        var str;

        var request= new XMLHttpRequest();
        request.open('get','http://localhost:8080/new/text.jsp',true);
        request.onload=function(){
            str=request.responseText;

        };
        request.send();
        $('h1').text(str);
    });
$('document').ready(function(){
    var str;

    var request= new XMLHttpRequest();
    request.open('get','http://localhost:8080/new/text.jsp',true);
    request.onload=function(){
        str=request.responseText;   
        $('h1').text(str);
    };
    request.send();
});

1 个答案:

答案 0 :(得分:2)

这是因为Ajax请求(XMLHttpRequest)执行异步。获得响应时会触发onload函数。在响应中,您需要检查状态代码和响应代码。

第一段代码。不等待响应,只是将str放入h1。第二段代码等待处理请求,当您收到响应时,它会将该代码用于h1