如何在单页可见时加载数据?

时间:2012-12-03 10:19:43

标签: php javascript jquery mysql jquery-mobile

我有一个 jQuery mobile 网站,我希望可视化一些数据(我用D3做过)。该网站有多个页面(由<div data-role="page" id="...">...</div>制作)。由于我要加载相当多的数据(来自服务器的json),我只想加载用户当前看到的内容。即如果他点击第2页(通过按钮),我只想加载第2页所需的数据(而不是其他10页的所有数据)。我发现了几个jQuery 事件(页面显示等) - 但是只有在第一次创建主页时才会捕获所有这些事件。当用户点击一个按钮(链接)时,我还想过加载它,但如果他直接导航到page2怎么办?

任何建议都会非常感激。谢谢!

2 个答案:

答案 0 :(得分:2)

我认为在这里使用AJAX是最好的选择。您可以在网址中使用#跟踪每个“网页”,例如YOUR_URL#page_2。

如果用户直接导航到该页面,它将呈现该页面。否则,如果他进入主页,它将呈现#page_1而不是#page_2或#page_3 ..来回。

希望我理解你的问题。

答案 1 :(得分:-1)

我发现了:

$('#pageTag').bind('pageshow', function() {
   $.ajax({
  url: "getData.php"
   }).done(function( data ) {
  alert( "response from server: " + data);
   });
}

这里的问题是,每次加载页面时都会调用它。因此,如果用户向后导航和向后导航,则每次都会加载...我找到了一些提示here,但不是第二个问题的解决方案......

非常感谢任何提示。感谢。