AJAX缓存问题


AJAX Caching issue

好吧,很多关于这个问题的回答文章都是关于POST之类的,但这不是因为这些原因。

我确实意识到我可以使用。load()函数,我有,它仍然缓存它的方式。它说,通过AJAX,他们有一个缓存属性,你可以设置为false,所以我切换了方法。然而,它们都产生相同的结果…

        $.ajax({
                url: "<?= $GLOBALS['SECURE_AREA']."inline/login_status.php?call_letters=$GLOBALS[call_letters]&t=".rand(100,999)."" ?>",
                cache: false,
                success: function (data) {
                    $("#user_info").html(data);
                }
        });
        //$("#user_info").load("<?= $GLOBALS['SECURE_AREA']."inline/login_status.php" ?>");

url不存在。当我访问它时,它会正确显示我想要的结果。然而,这仍然显示了它给的第一次加载。而且不刷新,因为你登录后,内容改变了。它仍然在说"注册|登录"…不是"My Account"

有什么办法解决这个问题吗?AJAX和.load()方法对我来说都不起作用。

我可以提供一个替代方案-

使用PHP,你可以直接回显你需要的数据到页面中…例如

<?php echo <<<JS
    $.ajax({
        url: "'"".$GLOBALS['SECURE_AREA'] . "inline/login_status.php?call_letters=".$GLOBALS['call_letters']."&t=".time()."'"", // per @phpissuper01
        cache: false,
        success: function (data) {
            $("#user_info").html(data);
        }
    });
JS;
?>

这将执行您的ajax,当它被放置,因为只有PHP可以访问$GLOBALS变量,你可以回显你需要的东西。

此外,您的代码中有几个关于字符串连接的问题,这些问题导致了错误,这些问题在这个答案

中得到修复。