Ajax 实现加载进度条

先说说这个 beforeSend, 在请求发送前执行 比如 可以判断用户有没有登录 ,如果没有登录就停止请求 并提示。

$.ajax({
  url : 'my_action',
  dataType: 'script',
  beforeSend : function(xhr, opts){
    if(1 == 1) //just an example
    {
      xhr.abort(); // 停止请求
    }
  },
  complete: function(){
    console.log('DONE');
  }
});

$.ajax有一个参数是complete:function(){} 是在 请求完成之后执行的 ,配合beforeSend可以用来展示进度条

$.ajax({
     url : 'my_action',
     dataType: 'script',
     beforeSend : function(){
       // 设置 进度条到20%慢慢变到50%
     },
     complete: function(){
       // 设置 进度条到80%
     }
     success:function(){
       // 渲染页面
       // 进度到100%
     }
   });

这个只是表面上的看到的进度条 ,展示大概的进度,并不是真正的加载进度。

你可能感兴趣的:(ajax)