javascript - AJAX 以渐进的方式读取数据,而不仅仅是在完成时

标签 javascript jquery ajax progress-bar

我喜欢为我的 ajax 调用创建一个进度条。 为此,我可以让我的服务器端脚本返回它的进度状态。 所以我需要 javascript 来读取这个进度级别并显示它。

有可能还是我走错路了?

最佳答案

你可以尝试这样的事情(一些伪代码,假设是 jQuery,因为你已经这样标记了问题):

var poll;
$.ajax({
  url: 'your_ajax_script',
  beforeSend: function(){ // set up out-of-band status polling
    poll = setInterval( function(){
      $.get('your_script_that_returns_status',
        function(data){ 
          update_progressbar(data);
        });
      }, 1000 ); // update every second?
  },
  success: function(data) {
    clearInterval( poll ); // stop polling
    finalize_or_hide_progressbar(); // clean up
    do_something_with( data ); // your "done" logic
  }
});

关于javascript - AJAX 以渐进的方式读取数据,而不仅仅是在完成时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4069641/

相关文章:

javascript - 如何仅在一定分辨率以上显示网站?

javascript - 如何为所有类型的操作系统和浏览器支持 datetime-local 类型

javascript - 如何避免同步 XMLHttpRequest

java - spring mvc 使用 json 而不是 ${variable}

javascript - 在 Chrome 中禁止另存为对话框

javascript - 如何从我的 HTML 页面获取其他网站的信息?

javascript - jQuery 正则表达式/从 URL 中删除某些单词

java - ajax 在返回字符串值时不工作

javascript - AJAX 和 ASP.net,在外部文件中引用服务器控件

javascript - 将 SPAN 包裹在 DIV 中的所有数字周围