我不习惯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()函数。
感谢
答案 0 :(得分:0)
浏览器将完成JavaScript的运行,直到它完成正在进行的任何操作。这会阻止重新绘制显示。
xmlHttpCart.open( "GET", url, false ); // false for synchronous request
这是为什么使用false
已弃用且您不应该这样做的一个示例。