function export_data(){    var export_url = "?app_act=goods/goods/export_data";
    window.location.href=export_url;    callback();
}
function callback(){
    location.reload();
}
这样试试

解决方案 »

  1.   

    window.location.href=export_url;---->执行跳转页面, 原先的页面数据都会卸载掉。
    我不太明白你什么意思,为什么要reload。
    知道reload有个参数么?客户端加载以及服务器端加载(记得没错的话应该是)说明白点 抽空给你解答
      

  2.   

    业务逻辑不通
    基础知识不过关window.location.href=export_url;  这个时候会怎么样?location.reload();     这个时候会怎么样?
    上面2句 先后放一起 会怎么样?
      

  3.   

    你需要做的是在var export_url = "?app_act=goods/goods/export_data";
    后面再附加一个标识参数,存在那个参数时,让它执行你预定的函数就是了。比如:var export_url = "?app_act=goods/goods/export_data&exec=1";
    或者,如果只要存在app_act就是需要执行你说的回调函数的话,那那个参数也不用再额外附加了。
    然后页面中绑定一个onload事件
    window.onload=function(){
        var exec=1;//这里由后台判断是否执行,输出一个标识符,比如:0为不执行,1就执行;
        if(exec==1){
          //dosomething
        }
    }
      

  4.   

    没太明白楼主的这两段代码:
    var export_url = "?app_act=goods/goods/export_data";
    window.location.href=export_url;
    但是觉得这两段代码执行完以后,并不能表示“数据已经导出”,所以,实际上,你还是在数据未导出完全的时候就执行了callback。
    不知道楼主的代码环境是怎么样的,您应该首先找到“数据已经导出”的点,在这之后使用回调函数。
      

  5.   

    而且,Lz,你这刚执行完什么数据导出。就又再location.reload();
    那岂不是没完没了了?
      

  6.   

    我猜到了,楼主可能是有个列表,列表上方有个按钮,点击该按钮,执行导出函数从后台导出数据,然后刷新页面。楼主为什么不使用ajax丫,自带callback。
      

  7.   

    export_data()这个方法是实时触发的
      

  8.   

    是直接导出excel到页面,这个方法没有返回值
      

  9.   

    用Ajax:function export_data(callback){
        var export_url = "?app_act=goods/goods/export_data";
        jQuery.ajax({
            url:export_url,
            success:function(){
                callback();
            }
        });
    }
    function callback(){
        location.reload();
    }
      

  10.   

    应该这样,function export_data(callback){
     
        var export_url = "?app_act=goods/goods/export_data";
        window.location.href=export_url;
     
        callback();
    }
    function callback(){
        location.reload();
    }
    export_data(function(){
    callback();
    });楼主你定义了两个方法,并且export_data方法是带有回调的,可是你没有调用啊,你只是定义了