页面ajax多次请求数据!!!
2017-03-30 17:41
106 查看
我发誓,这是我进入这行以来遇到过最恶心的问题。让我整整头疼了两天,两天没睡好觉。
事情的起源和这个插件有关: <script src="~/Scripts/jquery.unobtrusive-ajax.js"></script>
虽然Jquery有自带的ajax,但是有时候页面可能也会用到一些别的ajax插件。
简单描述一下我的问题:可能和其他的ajax多次加载不太一样,进入第一次,加载一次,第二次进入,加载两次,第三次进入,加载三次。。。依次叠加。
$(document).on("click", "ul li a", function () {
var selectindex=$(this).parent().parent().index();
var index=selectindex-8;
if(index==0){
var val = $(this).text();
var length = $(".demo").find("select").eq(0).find("option").length;
for (var i = 0; i < length; i++) {
var text = $(".demo select option:eq(" + i + ")").text();
var OptionVal = $(".demo select option:eq(" + i + ")").val();
if (text == val) {
GetSpecalties(OptionVal,index);
GetUniversityPlanCode(OptionVal,index);
break;
}
}
}
});
在这里我使用的是on()方法,因为多次加载的问题,我改成了one()方法,可是依然没有解决。最后慢慢向上找原因,锁定了我上面引用的插件,打开源码发现里面全部是on()方法,同样也换成了one(),叠加请求的问题就解决了。
on() 方法在被选元素及子元素上添加一个或多个事件处理程序。
one() 方法为被选元素添加一个或多个事件处理程序,并规定当事件发生时运行的函数。
当使用 one() 方法时,每个元素只能运行一次事件处理程序函数。
事情的起源和这个插件有关: <script src="~/Scripts/jquery.unobtrusive-ajax.js"></script>
虽然Jquery有自带的ajax,但是有时候页面可能也会用到一些别的ajax插件。
简单描述一下我的问题:可能和其他的ajax多次加载不太一样,进入第一次,加载一次,第二次进入,加载两次,第三次进入,加载三次。。。依次叠加。
$(document).on("click", "ul li a", function () {
var selectindex=$(this).parent().parent().index();
var index=selectindex-8;
if(index==0){
var val = $(this).text();
var length = $(".demo").find("select").eq(0).find("option").length;
for (var i = 0; i < length; i++) {
var text = $(".demo select option:eq(" + i + ")").text();
var OptionVal = $(".demo select option:eq(" + i + ")").val();
if (text == val) {
GetSpecalties(OptionVal,index);
GetUniversityPlanCode(OptionVal,index);
break;
}
}
}
});
在这里我使用的是on()方法,因为多次加载的问题,我改成了one()方法,可是依然没有解决。最后慢慢向上找原因,锁定了我上面引用的插件,打开源码发现里面全部是on()方法,同样也换成了one(),叠加请求的问题就解决了。
on() 方法在被选元素及子元素上添加一个或多个事件处理程序。
one() 方法为被选元素添加一个或多个事件处理程序,并规定当事件发生时运行的函数。
当使用 one() 方法时,每个元素只能运行一次事件处理程序函数。
相关文章推荐
- 基于AJAX的异步请求对多数据处理页面的优化
- [转载]同一页面无法多次使用XmlHttp发起Ajax请求的真实原因
- 关于js处理ajax请求返回json数据时出现页面缓存的解决方案(适用于showdialog)
- phpStudy4——前端页面使用Ajax请求并解析php返回的json数据
- 加载页面时同时触发两个ajax请求,数据显示的顺序不一致
- [转] 同一页面无法多次使用XmlHttp发起Ajax请求的真实原因
- js页面用定时任务通过AJAX获取后台数据,但是从这个页面跳转到其他页面后,定时任务仍然在定时请求后台
- 发送ajax请求的时候,如果页面卡住,可能是data数据的问题。
- 用户名失去焦点ajax请求后台,页面以下拉列表的形式展示相应的数据
- 通过Ajax请求动态填充页面数据
- jquery+ajax每秒向后台发送请求数据然后返回页面的代码
- Ajax请求+JSON传回到页面数据的例子
- 使用jquery中的ajax请求xml页面数据
- Ajax在静态页面中向指定url发送json请求获取返回的json数据
- 基于AJAX的异步请求对多数据处理页面的优化
- ajax请求的与页面本身有的数据(页面加载时候存在)的一个区别
- 同一页面无法多次使用XmlHttp发起Ajax请求
- 同时发送了多次ajax请求,且都是异步的,怎样拿取某一次ajax请求的返回数据。
- 一个防止页面刷新后,ajax请求的数据被重置的方法
- zepto-ajax跨域请求接口 jsonp 静态页面数据展示