$(document).ready(function() {
$("#postform").live("submit",function(){
var datastring=$(this).serialize();
var postid=$(this).("post_id").serialize();
$.ajax({
type: "POST",
url: "post_edit_save.php",
data: datastring,
cache : false,
success: function(html){
window.location.href='post_info.php?post_id='+postid;
}
});
return false;
});
});
在编辑数据后(例如在论坛中编辑帖子),我将此代码与ajax一起从页面A重定向到页面B. 但是当页面B完成加载时,页面B在编辑它之前发现旧数据(旧帖子)我要刷新一次以显示新数据。
如何在没有刷新的情况下从页面A重定向后立即使页面B显示新数据。
答案 0 :(得分:0)
代码正常工作,它看起来像浏览器缓存问题。您可以在<head>
代码
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
或者您可以在网址中添加randome查询字符串,就像评论中建议的那样。
答案 1 :(得分:0)
浏览器不会加载任何新内容,因为您可能将location.href
设置为等于当前位置。
如果您已经在post_info.php?post_id=123
并且将location.href
设置为相同的地址,则不会发生任何事情。该页面将不会被加载。
所以这不是缓存问题。相反,你应该调用
location.reload();
...在你成功的回调中。
这将重新加载页面并显示新数据。