beforeSend在jquery中使用ajax时在internet explorer中不工作
在生成内容之前,我试图在div上添加一个正在加载的gif图像。它在firefox中运行良好,但在internet explorer中不起作用。下面是我的代码 谢谢你beforeSend在jquery中使用ajax时在internet explorer中不工作,jquery,Jquery,在生成内容之前,我试图在div上添加一个正在加载的gif图像。它在firefox中运行良好,但在internet explorer中不起作用。下面是我的代码 谢谢你 <script type="text/javascript"> j(document).ready(function() { j('#sliderform').submit(function() { //j('#dash1').html('loading....'); bodyContent
<script type="text/javascript">
j(document).ready(function() {
j('#sliderform').submit(function() {
//j('#dash1').html('loading....');
bodyContent = j.ajax({
beforeSend: function(){
$("#dash1").append('abhinab...');
//alert("loading,..");
j('#dash').html('loading....');
j('#dash').html('<img src="../resources/images/loading.gif" >');
//document.getElementById('loading').innerHTML = '<img src="../resources/images/loading.gif" >';
// document.getElementById('dash').innerHTML = '<img src="../resources/images/loading.gif" >';
},
url: "dashboardreload.php",
global: true,
type: "POST",
data: ({min : j("#min").val(),max : j("#max").val()}),
dataType: "html",
async:false,
success: function(msg){
// drawChart();
}
}
).responseText;
//j('#dialog-form').html('');
//j( "#dialog-form" ).dialog( "close" );
//document.getElementById('dash').innerHTML = '<img src="../resources/images/loading.gif" >';
j('#dash').html(bodyContent);
drawChart();
//confirm(bodyContent);
return false;
});
});
</script>
j(文档).ready(函数(){
j(“#slideperform”).submit(函数(){
//j('#dash1').html('loading…');
bodyContent=j.ajax({
beforeSend:function(){
$(“#dash1”).append('abhinab…');
//警报(“装载,…”;
j('#dash').html('loading…');
j('#dash').html('');
//document.getElementById('loading')。innerHTML='';
//document.getElementById('dash')。innerHTML='';
},
url:“dashboardreload.php”,
全球:没错,
类型:“POST”,
数据:({min:j(“#min”).val(),max:j(“#max”).val()}),
数据类型:“html”,
async:false,
成功:功能(msg){
//图纸();
}
}
).responseText;
//j(“#对话框形式”).html(“”);
//j(“对话框形式”)。对话框(“关闭”);
//document.getElementById('dash')。innerHTML='';
j('#dash').html(bodyContent);
图纸();
//确认(正文内容);
返回false;
});
});
尝试在每个变量之前添加“var”:
var bodyContent = j.ajax({....
好吧,让我想想@ArtoAle的回答很好:不要使用全局变量 真正需要注意的是,您正在对ajax进行同步调用(
async
属性是false
)。这将阻止JavaScript在其上运行的UI线程,直到返回数据后恢复。也许在IE中,当UI线程被阻塞时,对DOM的更改不会呈现,但在Firefox中会呈现吗?不知道,但我肯定会让这个调用成为异步调用
如果做到了这一点,
beforeSend
在这里以您在IE8和jQuery 1.6.1中描述的方式为我工作。如果您使用的是jQuery 1.4,那么我可能会感兴趣。