【问题标题】:How to get cookie value in jquery which is set from C# class?如何在从 C# 类设置的 jquery 中获取 cookie 值?
【发布时间】:2015-02-27 08:04:35
【问题描述】:

我已经通过 C# 类创建并设置了 cookie,我想在 jquery 文件中使用这个 cookie 值。

就像我创建并设置了 cookie ...

HttpCookie myCookie = new HttpCookie("LoggedUserId");
myCookie.Value = newUser.UserId.ToString();

这个cookie值要在jquery文件中使用

var loggedUserId = $.cookie('LoggedUserId');

但它返回未定义。

我也试过这个..

var loggedUserId = '@HttpContext.Current.Request.Cookies["LoggedUserId"].Value';

但它在loggedUserId 中以string 的形式返回@HttpContext.Current.Request.Cookies["LoggedUserId"].Value

请建议我继续前进。谢谢

【问题讨论】:

  • 您是否查看了域的 cookie 并确保服务器确实在设置它?
  • 还要检查 cookie 的过期时间
  • 你能显示实际设置 cookie 的代码吗(不是创建 HttpCookie 对象,而是设置响应)?并考虑显示您包含的 .js 文件列表(因为 $.cookie 不是 jQuery 的一部分)。
  • 您是否有机会将cookie.HttpOnly 设置为true?调试您的应用并确保将其设置为 false。

标签: javascript c# jquery cookies


【解决方案1】:

如果您将代码放在页面上,那么您的代码将完美运行

<script type="text/javascript">
   var cookie = '@HttpContext.Current.Request.Cookies["mycookie"].Value';
   alert(cookie);
</script>

但是,如果您将代码添加到 js 文件中,那么这段代码可能会完成您的工作。

function getCookieValue(name) {
    cookieList = document.cookie.split('; ');
    cookies = {};
    for (i = cookieList.length - 1; i >= 0; i--) {
        cookie = cookieList[i].split('=');
        cookies[cookie[0]] = cookie[1];
    }
    return cookies[name];
}

有关详细信息,请参阅此链接。希望对你有帮助。

http://dotnet-concept.com/Article/2014/12/34/Create-Update-and-Get-cookie-value-through-javascript

【讨论】:

    猜你喜欢
    • 2011-07-04
    • 1970-01-01
    • 2023-03-17
    • 2013-03-08
    • 1970-01-01
    • 2018-12-21
    • 2017-12-25
    • 1970-01-01
    • 2021-05-22
    相关资源
    最近更新 更多