这是我的代码。基本上我有一个Reload.gif,我想在我发送一个ajax请求来重新加载我的数据之前开始在我的页面上播放。然而,最终发生的事情是它只会在我的成功函数被调用后才开始播放。这是时间表的样子:JQuery:为什么ajax请求在beforeSend中的代码完成执行之前执行?
零点几秒:1登录到控制台
0:00秒:2登录到控制台
0:10秒:3登录到控制台
0:10秒:GIF开始播放。
这没有任何意义,是设置一个IMG异步或什么的src? 图片代码:
<img id="reloadIcon" src="/img/Reload.png" style="width: 25px; height: 25px"/>
jQuery.ajax({
url: url,
type: 'GET',
timeout: 20000,
beforeSend: function() {
console.log(1);
document.getElementById('reloadIcon').src = "/img/Reload.gif";
console.log(2);
},
success: function (result) {
console.log(3);
}
});
是的,设置“src”属性会启动一个HTTP请求来获取图像,这是异步的。 – Pointy
今天我学到了,谢谢! – Ntrer1cal