jquery ajax async=false时IE下不显示进度条

chenxuyuan_5 2010-09-27 12:57:52

function aa() {
.............


var return_result = '';
$.ajax({
url: url,
type: transfer_mode,
dataType: responseType,
beforeSend: function(){
show_js_msg_box('正在执行您的请求,请等待...');
},
async: asyn,
data: params,
error: function(){
close_js_msg_box();
show_js_msg_box('网络异常,您的请求执行失败');
},
success: function(result){
close_js_msg_box();
if (typeof callback == 'function' && asyn == true) { // 异步并有回调函数情况下执行回调
callback(result);
} else if(asyn == false) { // 同步直接返回数据
return_result = result;

}
}
});

if (return_result) {
return return_result;
}
}


在火狐下async设为同步,异步都没问题,正常显示进度条,但在IE下就不行,同步时锁死了所有的操作。。有什么好的解决办法没?????


翻了一下有个相似贴,但还是没找到终极方案。。。
http://topic.csdn.net/u/20100910/10/e1554c66-c69d-428f-9b49-4363ed7a420b.html
...全文
1932 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
licip 2010-09-27
  • 打赏
  • 举报
回复
那是不是异步就有呀。
hoojo 2010-09-27
  • 打赏
  • 举报
回复
[Quote=引用楼主 chenxuyuan_5 的回复:]
JScript code

function aa() {
.............


var return_result = '';
$.ajax({
url: url,
type: transfer_mode,
dataType: responseType,
beforeSend: function(){
……
[/Quote]
是不是同步请求beforeSend这个方法没有执行
这样试试
show_js_msg_box('正在执行您的请求,请等待...');
$.ajax({
......
success: function(result){
close_js_msg_box();
});
});

  • 打赏
  • 举报
回复
用异步+回调不行吗?
IE下同步会挂起所有代码的执行,这个视乎无解~
chenxuyuan_5 2010-09-27
  • 打赏
  • 举报
回复
早试过了,不执行。我试过把这个放在你说的这个位置。但是就是调用完这个ajax的function以后,再接着写的js代码下去关这个层,依旧看不到这个加载状态。。[Quote=引用楼主 chenxuyuan_5 的回复:]
JScript code

function aa() {
.............


var return_result = '';
$.ajax({
url: url,
type: transfer_mode,
dataType: responseType,
beforeSend: function(){……
[/Quote]

52,780

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧