解决方案 »

  1.   

    $.ajax({
                    url:"A.php",
                    async:true,
                    cache:false,
                    type:"post"
                    success : funciton(mes){
                     $(".callback").html(mes);
                   }
        ​    ​    ​ });
                试试用这种回调,async改成true
      

  2.   

    你那个测试例(A页面)
    在浏览器访问时能成功的原因是:浏览器在接收缓冲区装满时,就立即解释收到的数据,而不等待通讯的结束
    在AJAX访问时不成功的原因是:XMLHttpRequest 组件只负责交换数据,不负责处理数据。处理数据的代码要等到通讯结束后才执行
    如果你的 AJAX 不已 XMLHttpRequest 做传输载体,而以 iframe 做载体的话,那么就不会不成功了
      

  3.   

    向xu大大学习
    除了iframe,我不太清楚你要flush的目的,但可以考虑下用js实现同样的效果
      

  4.   


    用iframe解决了…… 可是现在又出现了一个新问题本地测试能够即时输出,可是上传以后就不行了也是等到载入完了才输出来
      

  5.   

    服务器还有一个输出缓冲区,你关闭了吗?但你的这个做法是不妥当的,他会影响整个网站的响应速度
    要么用 websock 要么用 ajax 轮询
      

  6.   


    我建议把整个流程拆分,ajax循环,当前步骤作为参数传入php脚本 /index.php?step=1 
    switch分别处理,成功或失败都可以自定义json数据传给用户,好了解具体情况,也可以指定下一步操作
    毕竟flush问题比较多,而且功能不好扩展