php - 已弃用的 Ajax 或 JQuery 命令导致无结果返回

标签 php javascript ajax pagination deprecated

<script type="text/javascript">
        $(document).ready(function(){
            function loading_show(){
                $('#loading').html("<img src='images/loading.gif'/>").fadeIn('fast');

            }
            function loading_hide(){
                $('#loading').fadeOut('fast');

            }                
            function loadData(page){
                loading_show();    

                $.ajax
                ({
                    type: "POST",
                    url: "load_data.php",
                    data: "page="+page,
                    success: function(msg){
                        $("#container").ajaxComplete(function(event, request, settings)//.ajaxComplete is good
                        {
                            loading_hide();
                            $("#container").html(msg);
                        });
                    }
                });
                 alert();

            }
            loadData(1);  // For first time page load default results
            $('#container .pagination li.active').on('click',function(){//replaced .live with .on
                var page = $(this).attr('p');
                loadData(page);

            });           
            $('#go_btn').on('click',function(){//replaced .live with .on
                var page = parseInt($('.goto').val());
                var no_of_pages = parseInt($('.total').attr('a'));
                if(page != 0 && page <= no_of_pages){
                    loadData(page);
                }else{
                    alert('Enter a PAGE between 1 and '+no_of_pages);
                    $('.goto').val("").focus();
                    return false;
                }

            });
        });
    </script>

以上是来自 The paginatio tutorial here 的分页代码。 我尝试使用 jquery 1.9.1 而不是使用 1.4 的代码片段。 但似乎即使我将已弃用的 .live 更改为 .on,仍然没有呈现任何结果。我在这段代码中找不到任何已弃用的代码。然而,教程中的其他代码看起来也很完美。所以我认为上面的 javascript 和 ajax 代码一定有问题。

在 KyleK 的帮助下,修改后的版本(但仍然无法正常工作)如下

<script type="text/javascript">
        $(document).ready(function(){
            function loading_show(){
                $('#loading').html("<img src='images/loading.gif'/>").fadeIn('fast');
            }
            function loading_hide(){
                $('#loading').fadeOut('fast');
            }                
            function loadData(page){
                loading_show();                    
                $.ajax
                ({
                    type: "POST",
                    url: "load_data.php",
                    data: {page: page},
                    //ORIGINAL data: "page="+page,
                    success: function(msg)
                    {
                        $("#container").ajaxComplete(function(event, request, settings)
                        {
                            loading_hide();
                            $("#container").html(msg);
                        });
                    }
                });
            }
            loadData(1);  // For first time page load default results
            $('body').on('click','#container .pagination li.active', function(){
            //ORIGINAL $('#container .pagination li.active').live('click',function(){
                var page = $(this).attr('p');
                loadData(page);

            });           
            $('body').on('click','#go_btn',function(){
            //ORIGINAL $('#go_btn').live('click',function(){
                var page = parseInt($('.goto').val());
                var no_of_pages = parseInt($('.total').attr('a'));
                if(page != 0 && page <= no_of_pages){
                    loadData(page);
                }else{
                    alert('Enter a PAGE between 1 and '+no_of_pages);
                    $('.goto').val("").focus();
                    return false;
                }

            });
        });
    </script>

最佳答案

更改数据在 ajax 中传递的方式...

来自...

url: "load_data.php",
data: "page="+page,

致..

url: "load_data.php",
data: {page: page},

并更改此...

 $('#container .pagination li.active').on('click',function(){

对此...

 $('body').on('click','#container .pagination li.active', function(){

这里也一样...

 $('#go_btn').on('click',function()

致...

 $('body').on('click','#go_btn',function()

我想我已经建议了,昨天我上次回答同样的问题时......

关于php - 已弃用的 Ajax 或 JQuery 命令导致无结果返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17174237/

相关文章:

php - 如何使mysql喜欢和不喜欢从列表中获取字符串

php - 使用 php 和 javascript 匹配字符串中最后一个整数的正则表达式

php - bcpow 和 pow 有什么区别?

javascript - 每个 for/while 循环都可以替换为 forEach、map、reduce、filter 吗?

javascript - Angular UI 日历 : events are not displayed in the calendar

javascript - 使用 AJAX 和 jQuery 在 div 内调用 php 页面(也有循环)

php - 读/写 php ://temp stream 时遇到问题

javascript - 自定义点击事件触发器,widget jquery

mysql - Laravel 使用 whereIn 更新多行

php - ajax 加载数据的 Jquery 分页