【问题标题】:How to get Cookie set with Response.SetCookie(cookie) from Asp MVC using javascript如何使用 javascript 从 Asp MVC 获取带有 Response.SetCookie(cookie) 的 Cookie
【发布时间】:2017-09-14 08:07:20
【问题描述】:

我已经在登录部分设置了我的 cookie,如下所示:

var cookie = new HttpCookie("sys_user_id", (query.UserAccountId).ToString())
{
    Expires = DateTime.Now.AddDays(1)
};
Response.SetCookie(cookie);

我可以使用以下代码在view 访问并更改为整数相同的 cookie:

<script>
    var sysUserId = @Convert.ToInt32(HttpContext.Current.Request.Cookies["sys_user_id"].Value);
</script>

但是如果我把它放在一个 .js 文件中,我会在@Convert.ToInt32(HttpContext.Current.Request.Cookies["sys_user_id"].Value); 得到错误。这是因为 .js 文件无法读取 razor 语法。有没有办法获取我的“sys_user_id”cookie 并使用 javascript 将其转换为整数,以便我可以将其放入我的 .js 文件中?

【问题讨论】:

    标签: javascript asp.net asp.net-mvc asp.net-mvc-4 cookies


    【解决方案1】:

    对于那些还没有得到这类问题答案的人,我就是这样做的。

    我像这样创建了一个新函数:

    function getCookie(cname) {
        var name = cname + "=";
        var ca = document.cookie.split(';');
    
        for(var i=0; i<ca.length; i++) {
            var c = ca[i];
            while (c.charAt(0)===' ') c = c.substring(1);
            if (c.indexOf(name) === 0) return c.substring(name.length,c.length);
        }
    
        return "";
    } 
    

    然后我使用以下代码调用了我的“sys_user_id”cookie:

    var sysUserId = getCookie("sys_user_id);
    

    这是这个答案的帖子: How to get server side cookies value in javascript?

    【讨论】:

      猜你喜欢
      • 2010-12-29
      • 2018-12-10
      • 2014-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-11
      • 2023-03-04
      • 2011-12-18
      相关资源
      最近更新 更多