【问题标题】:Cookie set in codebehind not set on server but works local在代码隐藏中设置的 Cookie 未在服务器上设置,但在本地工作
【发布时间】:2018-03-09 19:03:19
【问题描述】:

为了检查文档是否发送到浏览器,我创建了一个 cookie 并检查它是否存在于 javascript 中。我让它在本地主机上工作,但由于某种原因,在我将它部署到服务器后它不起作用。

代码隐藏:

HttpCookie cookie = new HttpCookie("download", "complete");
cookie.Expires = DateTime.Now.AddSeconds(10);
Response.Cookies.Add(cookie);

Javascript:

function waitForDownload() {
    if (getCookie("download") === "complete") { //getCookie method works
        //do something
    } else {
        setTimeout(waitForDownload, 500);
    }
}

我认为 cookie 没有被创建,我在 chrome 控制台中查找时找不到它(在 10 秒结束之前检查)。

【问题讨论】:

    标签: javascript c# asp.net cookies


    【解决方案1】:

    我相信您可能需要添加它以允许 cookie 被 javascript 访问。试试:

    cookie.HttpOnly = false;
    

    【讨论】:

    • 我猜默认是假的
    • 我最近的经历中没有
    • 是的。这无关紧要,尤其是当它在一种环境中工作但在另一种环境中工作时。
    • @SteveHarris 然后检查文档 - 你最近的经历告诉你一些不正确的事情......msdn.microsoft.com/en-us/library/…The default is false.
    • 奇怪的是,这种确切的变化如何为我解决了类似的问题。为什么不尝试看看它是否有所作为,如果没有,那也不会浪费太多时间。
    猜你喜欢
    • 1970-01-01
    • 2022-10-09
    • 2020-02-07
    • 2018-08-23
    • 1970-01-01
    • 2015-07-21
    • 1970-01-01
    • 2017-02-17
    • 2012-09-05
    相关资源
    最近更新 更多