您的位置:首页 > 其它

页面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() 方法时,每个元素只能运行一次事件处理程序函数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ajax 数据 多次请求
相关文章推荐