在XML请求之前执行javascript

时间:2016-09-14 09:20:59

标签: javascript xml

我不习惯xml请求,但有没有办法在XMLHttpRequest之前执行代码。我要做的是,发送请求并打开一个新的URL。但由于这需要几秒钟,我立刻收到了一些请求,我希望在发送请求时出现加载屏幕。到目前为止,这是我的代码:

function sendRequests(){

    url = "placeholder";
    url2 = "placeholder2";

    displayObject("loadingScreen");

    var xmlHttpCart = new XMLHttpRequest();
    xmlHttpCart.open( "GET", url, true ); 
    xmlHttpCart.send( null );

    window.open(url2,"_self");
}

function displayObject(i) {
    var id = "" + i;
    document.getElementById(i).style.display = "inherit";
}

不幸的是,在请求完成后会触发displayObject()函数。

感谢

1 个答案:

答案 0 :(得分:0)

浏览器将完成JavaScript的运行,直到它完成正在进行的任何操作。这会阻止重新绘制显示。

xmlHttpCart.open( "GET", url, false ); // false for synchronous request

这是为什么使用false已弃用且您不应该这样做的一个示例。