运用瀑布流的时候,当页面滚轴,在屏幕下方的时候,刷新页面,会出现加载多次重复数据,的问题.
分析下问题.
console.log("start 1") //js code // $.getJSON console.log("start 2") //js code console.log("start 3")
大家可以做个试验
会打印出来,
start 1
start 3
start 2
事实上在执行getJson 的时候,只是触发了这个事件,但是没有等到事件执行完,就执行了下面的方法,从而导致的,连续多次执行.
JQuery 里面 的Ajax 有这个方法
asyncBoolean(默认: true) 默认设置下,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为 false。注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。
解决方法如下:
用Jquery Ajax 一定要 加上 async:false
console.log("") //测试数据
$.ajax({ //目的,为了,让ajax 执行后,再执行下面的方法
url: param.ajaxServer,
data: postPara,
async: false, //锁住浏览器,执行完毕后执行后面的方法
success: function (dat) {
var data = eval("("+dat+")");
//Code
}
});