我正在创建一个具有页面编辑部分的CMS。我正在尝试创建一个预览功能。它在第一次尝试时工作正常,但如果您再更改一些文本并再次预览,则预览是旧版本。它看起来也很快。好像ajaxSubmit函数不会重新加载页面。
我试图通过每次更改网址来解决这个问题(通过添加时间戳到最后),但这没有任何区别。我正在使用jquery,cakePHP和fck编辑器。
这就是我所拥有的:
<script type="text/javascript">
$('#page_modal').jqm();
$('#preview_btn').click(function(e){
// Get current page content from fck iframe
var oEditor = FCKeditorAPI.GetInstance('PageContent');
var newcontent = oEditor.GetData();
$('#PageContent').html(newcontent);
// Submit form via Ajax
var d=new Date();
var t=d.getTime();
var thisurl = '/admin/pages/preview/' + t.toString();
$('#ajaxForm').ajaxSubmit({
url: thisurl,
error: function(XMLHttpRequest, textStatus, errorThrown){
alert(textStatus);
},
success: function(responseText){
$('#page_modal').jqmShow().find('#page_modal_content').html(responseText);
}
});
e.preventDefault();
});
</script>
正如我所说,它第一次工作正常,但随后的调用内容不会更新。任何人都可以提出任何建议吗?
答案 0 :(得分:0)
尝试标记没有缓存的视图(/ admin / pages / preview)。在实际视图中:
<cake:nocache>
// your view content here
</cake:nocache>
可能是视图正在被蛋糕缓存,因此不会随后调用更新。
http://book.cakephp.org/view/347/Marking-Non-Cached-Content-in-Views