更改页面时,jquery mobile中的.get()方法无法加载

时间:2013-04-17 15:25:24

标签: performance jquery cordova jquery-mobile jquery-get

我有一个使用phonegap构建的移动应用程序,我正在使用jquery mobile。在第一页上,我链接到另一个,href =“page2.html”。

当第二页加载时,我使用.get()来检索xml数据并使用xml2json.js将其转换为json。如果我将此页面作为索引并在打开应用程序时加载它,页面正常工作,所以我知道脚本正在运行。但是,当通过其他页面的链接加载时,.get()方法似乎不会加载任何数据。

<script type="text/javascript" src="cordova-2.4.0.js"></script>
        <script type="text/javascript" src="js/index.js"></script>
        <script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
        <script src="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.js"></script>
        <script type="text/javascript" src="js/jquery.xml2json.js"></script>
        <script type="text/javascript">
            $.get('http://domain.com/app/getfacilities/?org=mysite', function(xml){
                  var facilities = $.xml2json(xml);
                  for (i=0; i<=facilities.facility.length; i++){
                    var locName = facilities.facility[i].name;
                    var id = facilities.facility[i].id;
                    $("#fieldList").append("<li><a href='#'>" + locName + "</a></li>").listview('refresh');
                  }
                  });
            </script>
        <script type="text/javascript">
            app.initialize();
        </script>

1 个答案:

答案 0 :(得分:0)

您需要将<script>标记放在<div data-role="page">标记内。位于<script>标记之外的<div data-role="page">代码只会​​加载到您的第一个/初始页面加载上,这与您的体验一致。

<div data-role="page">
    <script>
        // js script here
    </script>
</div>