0

我在登录 ajax 后创建重定向时遇到问题,基本上是在正确登录后(例如,从主页),我被重定向到一个新页面。当我在这个新页面中时,如果我单击将我带回主页的链接,则主页处于非登录版本。好像浏览器维护一个缓存版本。事实上,只需使用 F5 更新此页面,页面就会刷新,然后我就登录了。

你有什么建议吗?

编辑:我正在使用 Wordpress LoginWithAjax 插件

/Make Ajax Call
    $.post(url, postData, function(data){
        lwaAjax( data, 'LoginWithAjax_Status', '#login-with-ajax' );
        if(data.result === true){
            //Login Successful - Extra stuff to do
            if( data.widget != null ){
                $.get( data.widget, function(widget_result) {
                    $('#LoginWithAjax').replaceWith(widget_result);
                    $('#LoginWithAjax_Title').replaceWith($('#LoginWithAjax_Title_Substitute').text());
                });
            }else{
                if(data.redirect == null){
                    window.location.reload();
                }else{
                    window.location = data.redirect;
                }
            }
        }
    }, "json");
}); 
4

2 回答 2

1

如果您正确设置会话,就像您在评论中提到的那样,它可能是浏览器缓存。您可以尝试在页面中添加标题,要求浏览器不要缓存:

<meta http-equiv='cache-control' content='no-cache'>
<meta http-equiv='expires' content='0'>
<meta http-equiv='pragma' content='no-cache'>

阅读此论坛帖子的更多信息: http ://www.webmasterworld.com/forum21/10628.htm

于 2012-09-04T23:16:09.807 回答
0

好的,这似乎有效!谢谢托什。

<?php 
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
// HTTP/1.1
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
// HTTP/1.0
header("Pragma: no-cache");
?>
于 2012-09-05T19:37:56.420 回答