2013-04-17 91 views
0

我有一个使用phonegap构建的移动应用程序,我正在使用jquery mobile。在第一页,我有链接到另一个,href =“page2.html”。。更改页面时,jquery mobile中的get()方法无法加载

当第二页加载时,我使用.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> 
+0

那些脚本标记(在你的page2.html中),它们是HEAD或BODY的一部分吗? – Gajotres

+0

它们位于/ body标签正上方。 –

回答

0

您需要将<script>标签将您<div data-role="page">标签内。 <script>标记位于您的<div data-role="page">标记之外,因此只会在您的首页/初始页面加载时加载,这与您所遇到的内容看似一致。

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

无赖,仍然无法工作。同时使用jqmobile和phonegap时,是否必须在我创建的每个页面上包含此脚本的所有内容?我用Nimblekit构建了应用程序,这非常简单。我觉得我在这里错过了一些东西:-(。 –

+0

优秀,这工作。只是从页面中删除所有的脚本,并包括.get()方法在身体。Tks,@andleer! –

相关问题