繁体   English   中英

如何在javascript中获取服务器端cookie值?

[英]How to get server side cookies value in javascript?

如何从JavaScript获取服务器端cookie值。 在这里,我已经从服务器端声明了cookie

我想检查cookie是否为null

C#代码:

String UserId = usrDT.Rows[0]["user_id"].ToString();
UserDAO.StorageCookies.myCookie = new HttpCookie("myCookie");
UserDAO.StorageCookies.myCookie.Values.Add("userid", UserId);
UserDAO.StorageCookies.myCookie.Expires = DateTime.Now.AddHours(5);
HttpContext.Current.Response.Cookies.Add(UserDAO.StorageCookies.myCookie);

JavaScript代码

$(document).ready(function () {
    $(".edit-btn").click(function () {
        var cookies = '@HttpContext.Current.Request.Cookies["myCookie"].Value';
        alert(cookies);
        var v = $(this).data("textval");
        var qid = $(this).data("ques-qid");
        var getResponce = "http://localhost:1234/Models/answer.aspx?q=" + qid;
     if (cookies != "") {
        $.ajax({
            type: "GET",
            url: getResponce,
            data: {
                "Submit": "EditAnswer",
                "ans_id":v
            },
            success: function (msg) {
                var htmlEditor = $find("editAnswer_ctl02");
                htmlEditor.set_content(msg);
            }
        })
     } else {
         alert("elseCondition");
            $('.login-form').modal('show');
        }

    })
})

您的JavaScript可以选择cookies作为存储在客户端浏览器中的cookies ,只需使用此功能即可

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 "";
} 

你可以包含这个小的javascript库(约800字节gzip!)。 https://github.com/js-cookie/js-cookie它曾经是一个jquery插件,但它对jquery的依赖性很小,所以他们把它作为自己的独立库。

读取cookie:

<script src="/path/to/js.cookie.js"></script>

Cookies.get('name'); // => 'value'
Cookies.get('nothing'); // => undefined

如果您不想使用document.cookie,您可以使用cookie js来帮助获取任何密钥的值。请从https://github.com/js-cookie/js-cookie获取js并查看它的用法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM