我遇到登录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");
});
答案 0 :(得分: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
答案 1 :(得分:0)
好的,这似乎有效!谢谢Tosh。
<?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");
?>