AJAX:如何重定向页面然后刷新一次

时间:2013-05-23 18:35:20

标签: jquery ajax

$(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显示新数据。

2 个答案:

答案 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();

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

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