通过AJAX刷新数据的Cookie

时间:2013-06-30 08:04:59

标签: php ajax cookies

我有一个第一次加载的页面,定期(每隔几秒)通过AJAX进行更新。在AJAX处理页面上,我想更新用户的cookie,以反映最后一次访问时间" (并因此将数据标记为已读/未读)。无论如何使用" setCookie"标题设置后?或者我必须通过JS更新cookie吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

在设置Cookie之前,您需要阻止任何输出。基本上你可以重新加载php命令或尝试使用ob_start来阻止输出,这样你就可以在输出任何html之前设置cookie。

答案 1 :(得分:0)

一种方法是使用AJAX调用php脚本。你可以制作PHP脚本只是为了设置cookie。我是这样做的:

HTML:

<html>
<head>
    <script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
</head>
<body>
    <script>
        function changeCookie(id)
        {
            data = 'id='+id;
            $.ajax({
                type: "POST",
                url: 'test.php',
                data: data,
                dataType: 'html'
                });
        }
    </script>
</body>

PHP:

<?php
    $id = $_POST['id'];
    setcookie("TestCookie", $id, time()+3600);  /* expire in 1 hour */
?>

每当你调用changeCookie函数时,它会将你的cookie设置为你在函数参数中提供的值。您可以修改此脚本以将名称和到期日期发送到PHP脚本。

另一种方式可能是没有PHP,只需计划javascript。您可以找到有关here的更多信息。