加入目前的需求这样的: 
      左边的菜单链接,点击后通过异步请求返回其HTML代码,然后innerHTML到右面的DIV中,加入切换菜单的速度非常快,最终会导致请求紊乱。 
可以加入消息管理机制,下面一个例子,代码没有优化,只提供思路。
​1. [代码][JavaScript]代码     
// 在DOMready的时候创建一个消息管理器messageMgr,包含一个队列(Queue),增(Create)、删(Remove)、判断(isAvailable)函数。
//给每个module设置一个Action,此Action必须有init,dispose方法,init方法先Create一个时间戳(Token),压入Queue并返回给Action保持。异步请求的时候携带该Token,在callback函数执行之前判断(isAvailable)此Token是否在Queue中,防止非正常的回调。ppt素材
//只有当该Action被销毁(dispose)的时候删除该Token,然后操作其他的事件卸载(onBind).
  
var messageMgr = {
         __Queue: [],
         Create: function(){
              var __key = new Date().getMilliseconds();
              this.__Queue.push(__key);
              return __key;
         };
         Remove:   function (token) {
              token && baidu.array.remove(this.__Queue, token);
         },
         isAvailable:function (token) {
             return baidu.array.contains(this.__Queue, token);
         }
};
var asyn = function(url, data, opt){
         opt = opt || {};   
         //异步请求对象
         var __callBack = function(xhr, responseText){
                  if(opt.token && !messageMgr.isAvailable(opt.token)) return false;
                  opt.callback && opt.callback(xhr, responseText);
         };http://www.huiyi8.com/ppt/​
         baidu.ajax.request(url, {
                 method:   opt.method || "post",
                 data:     data,
                 onsuccess: __callBack,
                 timeout:  options.timeout || 600000,
                 onfailure:function () {
                         alert("网络传输异常。");
                 }
         });
};
var blogCat = function(){
         var __token = null;
    
         var __asynRequest = function(){
                  var __callBack = function(list){
                   //渲染列表操作
                  }
                  var __data = {};
                  messageMgr.asyn("/remoteHC.php",  __data, {
                           token: __token,
                           callback : __callBack
                  });
         };
         var __init = function(){
                  //绑定事件其他操作
                  __token = messageMgr.Create();
         };
         var __dispose: function(){
                  //出栈
                  messageMgr.Remove(__token);
         };
         return {
                  init: __init,
                  dispose: __dispose
         }
}();

最新文章

  1. iOS开发-- 通过runtime kvc 移除导航栏下方的阴影效果线条
  2. nodejs httpserver
  3. 长时间停留在calculating requirements and dependencies 解决方案
  4. MySQL workbench 中文乱码 显示口口
  5. CSS3 动画实现 animation 和 transition 比较
  6. ubuntu 安装mysql-python和 python-ldap,navicate 问题
  7. HT for Web 3D游戏设计设计--汉诺塔(Towers of Hanoi)
  8. homework160809207刘兆轩
  9. CSS - 针对不同浏览器的写法
  10. nodejs--express开发个人博客(2)
  11. GDI+ 摘要: 保存图像文件
  12. Sass与Compress实战:第五章
  13. 如何在vue里面访问php?
  14. 作用域链和函数内部this指向问题以及bind、call、apply方法
  15. Hadoop---Java-API对HDFS的操作
  16. hibernate5(12)注解映射[4]一对一外键关联
  17. ip地址后边加个/8(16,24,32)是什么意思
  18. Asp.Net从相对路径获取绝对路径的方法(不需要httpcontext上下文也可)
  19. Codeforces 911D. Inversion Counting (数学、思维)
  20. U3D正播反播动画剪辑

热门文章

  1. HDU1757-A Simple Math Problem,矩阵快速幂,构造矩阵水过
  2. bzoj 3786 星系探索 dfs+splay
  3. sequence(bzoj 1367)
  4. app后端搜索入门
  5. 2016 ACM/ICPC 区域赛(北京) E 题 bfs
  6. Markdown中插入图片技巧收集
  7. INFO org.apache.hadoop.ipc.RPC: Server at master/192.168.200.128:9000 not available yet, Zzzzz...
  8. Spring Boot使用MyBatis 3打印SQL的配置
  9. Eclipse通过Maven构建时出现: Fatal error compiling: tools.jar not found: Fatal error compiling: tools.jar not found: C:\Program Files\Java\jre1.8.0_31\..\lib\tools.jar
  10. O2O助汪峰成功逆袭,汪峰最终上头条了