页面中的jQuery-mobile和陈旧数据

时间:2011-02-06 14:19:23

标签: jquery-mobile

我刚开始尝试使用jQuery并尝试将其应用于一个非常简单的CRUD应用程序,该应用程序包含list,create,edit&显示页面。

我已经应用了jQuery-mobile标记约定,一切看起来都很不错。但是,我对刷新陈旧数据的问题感到困惑。据我所知,jQuery-mobile使用AJAX覆盖链接和表单提交,以提供“单页应用程序”。同样,这对我有用,我的所有data-role="page"内容都正在加载和正确转换。

我不明白的是,当我修改数据时(例如,提交表单以创建新项目然后导航回“列表”页面)需要从服务器刷新某些页面以获取修改后的数据数据。 jQuery-mobile所做的只是重新显示以前加载的页面,该页面现在已过时。同样,每次我重新访问“创建页面”以创建另一个新项目时,表单仍然会从之前的提交中填充,因为页面实际上并不是刷新的。

如果这是我需要自己编写脚本的东西,那很好,但我很好奇,似乎没有提到我认为是jQuery-mobile文档中的常见场景。感觉我必须遗漏一些明显的东西。其他人如何处理这个?

2 个答案:

答案 0 :(得分:6)

rel =外部技术会导致其他问题,例如:您无法部署使用rel = external的全屏ipad应用程序。

我有完全相同的问题。我正在修补一些已发布的补丁here

我在<script src="../../Scripts/jquery.mobile-1.0a4.1.min.js" type="text/javascript"></script>引用后粘贴了以下内容:

script type="text/javascript">

    $('div').live('pagehide', function(event, ui){
      var page = jQuery(event.target);
        //alert('point 6875654');
      if(page.attr('data-cache') == 'never'){
        //alert('removing jqm history page');
        page.remove();
      };
    });

    </script>

然后我添加了data-cache属性,如下所示:

<div class="page" data-role="page" data-cache="never">

这似乎有很大的帮助,尽管我仍然有一些与ASP.NET安全性相关的重定向相关问题。

答案 1 :(得分:2)

我遇到类似问题的解决方案是将rel = external添加到动态更新的页面中。我希望有一种方法可以在添加动态内容时“重新缓存”页面