JQueryMobile:在转换到结果页面后进行Ajax调用

JQueryMobile:在转换到结果页面后进行Ajax调用,jquery,jquery-mobile,Jquery,Jquery Mobile,我正在尝试使用JQM来构建以下序列: 用户按转到第1页 转换到userListPage 在userListPage上显示“加载”动画并进行Ajax调用获取结果并填充列表 正常的JQM方法是在步骤1之后显示加载动画,并转换到显示结果列表的userListPage 但是我想先显示结果页面,然后(通过Ajax)加载实际数据 我尝试了以下操作,但这甚至没有进行Ajax调用 <script> var mainloaded = false; $('.userListPage').live('p

我正在尝试使用JQM来构建以下序列:

  • 用户按转到第1页
  • 转换到userListPage
  • 在userListPage上显示“加载”动画并进行Ajax调用获取结果并填充列表
  • 正常的JQM方法是在步骤1之后显示加载动画,并转换到显示结果列表的userListPage

    但是我想先显示结果页面,然后(通过Ajax)加载实际数据

    我尝试了以下操作,但这甚至没有进行Ajax调用

    <script>
    var mainloaded = false;
    $('.userListPage').live('pageshow', function(event) {   //Workaround to show page loading on initial page load
        if(!mainloaded) {
            $.mobile.showPageLoadingMsg();
        }
    });
    
    $('.userListPage').live('pagecreate', function(event) {
        jQuery.ajax({
            url: "getUserList",  
            type: "GET",
            data: dataVar,
            success: function(result) 
            {   
                $.mobile.hidePageLoadingMsg();
                mainloaded = true;
                userListContent.innerHTML = result;
            },
            error: function(e){  
                $.mobile.hidePageLoadingMsg();
                alert('Error: ' + e);
            }   
        });
    });
    
    
    var mainload=false;
    $('.userListPage').live('pageshow',函数(事件){//在初始页面加载时显示页面加载的变通方法
    如果(!mainload){
    $.mobile.showPageLoadingMsg();
    }
    });
    $('.userListPage').live('pagecreate',函数(事件){
    jQuery.ajax({
    url:“getUserList”,
    键入:“获取”,
    数据:dataVar,
    成功:功能(结果)
    {   
    $.mobile.hidePageLoadingMsg();
    mainload=true;
    userListContent.innerHTML=结果;
    },
    错误:函数(e){
    $.mobile.hidePageLoadingMsg();
    警报('错误:'+e);
    }   
    });
    });
    

    有没有关于如何执行此操作的建议?

    是否触发了pageshow事件?此外,您可能希望为ajax调用绑定到pageshow事件。大概是这样的:

    $('.userListPage').live('pageshow', function(event) {
        $.mobile.showPageLoadingMsg();
        jQuery.ajax({
            url: "getUserList",  
            type: "GET",
            data: dataVar,
            success: function(result) 
            {   
                $.mobile.hidePageLoadingMsg();
                userListContent.innerHTML = result;
            },
            error: function(e){  
                $.mobile.hidePageLoadingMsg();
                alert('Error: ' + e);
            }   
        });
    });
    
    可能是$.mobile.loadPage,然后刷新页面?