0

好的,很多关于此的已回答文章一直在处理 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" ?>");

网址确实存在。当我转到它时,它会正确显示我想要的结果。但是,这仍然显示它给出的第一个负载..并且没有刷新,因为您登录后,内容发生了变化..它仍然在说“注册|登录”..而不是“我的帐户”

关于如何解决这个问题的任何想法?AJAX 和 .load() 方法都不适用于我。他们都缓存。

4

1 回答 1

0

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

使用 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 可以访问$GLOBALSvar,因此您可以回显出您需要的内容。

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

于 2013-06-10T19:03:43.960 回答