设置cookie而不刷新页面

时间:2013-04-15 15:32:31

标签: javascript asp.net-mvc cookies

当用户第一次访问特定页面时,我正在显示jQuery叠加层

他们在叠加层中有一个单选按钮,他们可以点击它们说他们不希望再看到通知

我想设置一个用户不想再看到叠加层的cookie

是否可以在不刷新页面的情况下设置cookie?

我打算将ajax调用回服务器,然后在响应头中设置cookie,但我猜他们不会在Ajax请求/响应中设置?

纯粹从javascript设置cookie是否安全/可以?或者这是个坏主意?

还有其他选择吗?

4 个答案:

答案 0 :(得分:1)

没有理由说AJAX调用无法设置cookie。它基本上只是一个HTTP请求。

AJAX Requests Get And Set Cookies Like Any Other HTTP Request

答案 1 :(得分:0)

您可以使用jQuery Cookie Plugin

一些例子:

function setCookieFilters() {
    var $filtersContent = $(".dynamic-filters");
    if ($filtersContent.length > 0) {
        if ($filtersContent.css("display") == "none") {
            $.cookie("isUsingFilters", "true", { expires: 7 });
        }
        else {
            $.cookie("isUsingFilters", "false", { expires: 7 });
        }
    }
}

答案 2 :(得分:0)

你也可以在普通的旧javascript中获取/设置cookie: Create and Store a Cookie

答案 3 :(得分:0)

使用此功能:这将重新加载页面。

setcookie($data,$item_data, time()+ (3600));
echo "<script>location.href='index.php'</script>;