1
$(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 出现新数据而不刷新。

4

2 回答 2

0

代码正在运行,它看起来像浏览器缓存问题。您可以在标签中添加元<head>标签

<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">

或者您可以按照评论中的建议在 url 中添加随机查询字符串。

于 2013-05-23T19:25:24.693 回答
0

浏览器不会加载任何新内容,因为您可能设置location.href为等于当前位置。

如果您已经在post_info.php?post_id=123并且设置location.href了相同的地址,那么什么都不会发生。该页面将不会被加载。

所以这不是缓存问题。相反,您应该调用

location.reload();

...在您的成功回调中。

这将重新加载页面并显示新数据。

于 2013-05-23T19:32:11.407 回答