1,瀑布流的bug
  • 多次滚动,请求多次,
         解决:加一个开关变量,当数据返回之后才会执行下一次ajax请求,并设置超时时间
  • 中途数据库有变更,造成数据库id变化,(本来的20变成21)请求就会返回一个重复数据
        解决:每次请求把数据的不变的那个id传给后台,后台根据这个不变的id 取数据
  •  当数据量超级大的时候,浏览器会崩溃
          可以把之前请求到的数据从浏览器清空。
       
2,ajax轮询
 每隔五秒发一次请求到服务器,本来一切正常,但是遇到网络不好的情况,连发几次请求,会被卡主,一股脑返回几次重复数据
暂时的解决方案1
判断如果数据一样就不执行相应的操作
或者设置ajax超时
 用jq的jQuery.ajaxPrefilter()ajax预处理方法
  • options 是请求的选项
  • originalOptions 值作为提供给Ajax方法未经修改的选项,因此,没有ajaxSettings设置中的默认值
  • jqXHR 是请求的jqXHR对象
当自定义选项,需要提前处理,预过滤器(Prefilters)是一个完美的选择。给定下面的代码, 例如,如果自定义abortOnRetry选项被设置为true,那么调用$.ajax()会自动中止请求相同的URL:
 

var currentRequests = {};
$.ajaxPrefilter(function( options, originalOptions, jqXHR ) {
if ( options.abortOnRetry ) {
if ( currentRequests[ options.url ] ) {
currentRequests[ options.url ].abort();
}
currentRequests[ options.url ] = jqXHR;
}
});
 
currentRequests.abort();方法取消的时候,实际上会触发$.ajax success事件,所以在success是的回调函数需要添加判断current_request是否存在,存在才执行回调函数
 
应该还有其他的方案以后再增加