IE:页面需要刷新两次

时间:2011-06-27 12:43:51

标签: php javascript jquery internet-explorer

我有一个在页面加载时执行的javascript函数,如下所示:

if (isTrue()) {
    $.post("check.php", { value: 'true' } );
} else {
    $.post("check.php", { value: 'false' } );   
} 

check.php看起来像这样:

if ($_POST['value'] == 'true') { 
    $_SESSION['value'] = true;
} else {
    $_SESSION['value'] = false;
}

我的问题是,如果函数isTrue()被更改为返回false,并且我转到IE,我需要刷新页面两次以查看它已被更改。如果我再次将它设置为true,同样的事情,当我第一次刷新更新时,再次刷新时,现在它们就是。

这个奇怪的事情可能是什么原因?

感谢您的任何意见!

3 个答案:

答案 0 :(得分:1)

这是因为$ _SESSION,$ _SESSION ['value']已经设置,但是在你再次刷新之前你没有看到那个结果,因为页面已经使用旧值加载了。

答案 1 :(得分:0)

也许是某种缓存问题? 尝试在更改后清除浏览器缓存,如果仍需要第二次刷新,请参阅。

答案 2 :(得分:0)

这可能是jQuery AJAX缓存的结果。我自己也遇到过类似的问题。

尝试将其关闭:

$.ajax({
    type: "POST",
    url: "check.php",
    data: { value: 'true' },
    cache: false
});

还可以尝试摆弄请求以检查它们是否确实存在,以确认它是否是缓存问题。