0

使用 jquery mobile 调用页面时遇到麻烦。在此示例中,我假设索引页面 (index.html) 是否将调用包含来自我的服务器的数据的数据页面 (data.html)。就我而言,当我使用以下语法从 index.html 调用页面时:

$.mobile.changePage("data.html");

在页面 data.html 我做了这个 sintax :

$(document).on('pageinit', '#myDataPage', function(){    
    GetData();
});

function GetData(){
   //Ajax Function here
}

在我调用 data.html 之后,显然没有显示任何数据。但是,如果我手动刷新页面,则会成功显示从我的服务器获取的数据。我的代码有问题吗?

4

1 回答 1

1

默认情况下,jQuery Mobile 使用 Ajax 来执行页面转换。这意味着在过渡期间,jQuery Mobile 只会注入响应的正文元素的内容(或者更具体地说,如果提供了 data-role="page" 元素),这意味着不会使用页面头部的任何内容(使用页面标题的例外,它是专门获取的)。

因此,当通过 Ajax 加载页面时,页面头部引用的任何脚本和样式都不会产生任何影响,但如果通过 HTTP 正常请求页面,它们就会执行。

如果你scripthead第二页的 div ( <div data-role="page" id="myDataPage">) 内的标签中移动你的,它将执行。另一种方法是创建一个 JS 文件并在第一页加载时加载您的 JavaScript(相关示例在这里)。

我希望这有帮助。

于 2013-04-27T10:19:24.210 回答