已弃用的Ajax或JQuery命令原因无返回结果


Deprecated Ajax Or JQuery Command Cause No Result Returned

<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>

上面是来自这里的分页教程的分页代码。我尝试使用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()

我想我昨天回答这个问题的时候已经说过了……

live和on的基本区别你可以查看

$('selector').live(event, function(){ //do stuff here })

和in

$(document).on(event, selector, function(){ //do stuff here })

你也可以参考详细文档来获得更好的转换方法