我刚开始尝试使用jQuery并尝试将其应用于一个非常简单的CRUD应用程序,该应用程序包含list,create,edit&显示页面。
我已经应用了jQuery-mobile标记约定,一切看起来都很不错。但是,我对刷新陈旧数据的问题感到困惑。据我所知,jQuery-mobile使用AJAX覆盖链接和表单提交,以提供“单页应用程序”。同样,这对我有用,我的所有data-role="page"
内容都正在加载和正确转换。
我不明白的是,当我修改数据时(例如,提交表单以创建新项目然后导航回“列表”页面)需要从服务器刷新某些页面以获取修改后的数据数据。 jQuery-mobile所做的只是重新显示以前加载的页面,该页面现在已过时。同样,每次我重新访问“创建页面”以创建另一个新项目时,表单仍然会从之前的提交中填充,因为页面实际上并不是刷新的。
如果这是我需要自己编写脚本的东西,那很好,但我很好奇,似乎没有提到我认为是jQuery-mobile文档中的常见场景。感觉我必须遗漏一些明显的东西。其他人如何处理这个?
答案 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添加到动态更新的页面中。我希望有一种方法可以在添加动态内容时“重新缓存”页面