Javascript 元素插入在jquery AJAX期间没有反映出来
我正在尝试创建一个DIV,其中图像位于另一个DIV中,用于显示AJAX处理。发生的情况是,图像只有在AJAX调用之后才可见。我已经检查了DOM,插入发生在“beforeSend”中,但在AJAX调用后可见。下面是一段代码Javascript 元素插入在jquery AJAX期间没有反映出来,javascript,jquery,ajax,Javascript,Jquery,Ajax,我正在尝试创建一个DIV,其中图像位于另一个DIV中,用于显示AJAX处理。发生的情况是,图像只有在AJAX调用之后才可见。我已经检查了DOM,插入发生在“beforeSend”中,但在AJAX调用后可见。下面是一段代码 options.beforeSend = function(jqXHR, settings){ $('#'+_divId).prepend(jQuery('<div/>', { class : 'ajax-progress' }).
options.beforeSend = function(jqXHR, settings){
$('#'+_divId).prepend(jQuery('<div/>', {
class : 'ajax-progress'
}).append(jQuery('<img/>').attr('src',"/images/ajax.gif")));
}
我不能在“ajaxStart”中这样做。我知道原因了。它在属性为“async:false”的AJAX调用中不起作用
由于AJAX是同步的,DOM更新将暂停,直到调用完成。如果此功能用于特定的页面和功能,那么为什么要使用beforeSend。是否可以在AJAX调用之前手动执行此前置和追加操作?通常beforeSend用于向请求添加额外的标题或其他信息。这不是特定于页面的,我们在beforeSend中做了一些额外的工作,这是一个新的。我试着用一种通用的方式来完成每一个屏幕和每一个ajax调用。
$('#'+_divId).prepend(
$('#imageDiv').detach());