jquery移动加载页面并获取数据

Posted

技术标签:

【中文标题】jquery移动加载页面并获取数据【英文标题】:jquery mobile load page and get data 【发布时间】:2013-04-27 04:25:40 【问题描述】:

我在使用 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 之后,显然没有显示任何数据。但是,如果我手动刷新页面,则会成功显示从我的服务器获取的数据。我的代码有问题吗?

【问题讨论】:

【参考方案1】:

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

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

如果您将 script 从第二页 div (<div data-role="page" id="myDataPage">) 内的 head 标记中移出,它将执行。另一种方法是创建一个 JS 文件并在第一页加载时加载您的 javascript(相关示例 here)。

我希望这会有所帮助。

【讨论】:

以上是关于jquery移动加载页面并获取数据的主要内容,如果未能解决你的问题,请参考以下文章

请问如何通过jquery获取页面内容的高度?

jquery操作ajax返回的页面元素

通过jquery滑块发送获取请求并在页面重新加载后保持滑块上的值[重复]

javascript函数调用以获取数据并在页面加载时显示到屏幕

如何用jquery判断数据是不是加载完成

jquery mobile listview使用ajax动态加载后,跳转到其他页面返回时数据没有保存如何解决?