+ -
当前位置:首页 → 问答吧 → jquery ajax async=false时IE下不显示进度条

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

时间:2010-09-27

来源:互联网

JScript code

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

作者: chenxuyuan_5   发布时间: 2010-09-27

引用楼主 chenxuyuan_5 的回复:
JScript code

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


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

CSS code
是不是同步请求beforeSend这个方法没有执行
这样试试
show_js_msg_box('正在执行您的请求,请等待...');
$.ajax({
......
success: function(result){
            close_js_msg_box();
});
});

作者: IBM_hoojo   发布时间: 2010-09-27

那是不是异步就有呀。

作者: licip   发布时间: 2010-09-27