68 javascript cookies document get key-value
我无法从JavaScript访问任何cookie.我需要读取一些值并通过JSON发送给我的自定义检查.
我试图从JS访问cookie,如下所述:
正如您在代码中看到的那样,它被视为下一个晶体:
var c_value = document.cookie;
Run Code Online (Sandbox Code Playgroud)
当我尝试document.cookie从Chrome的Web调试器访问该值时,我只看到Watch表达式中的空字符串:
所以我无法读取我需要的cookie值.
我已经检查了cookie名称,我发送该名称以获得相关值是正确的.此外,我正在使用W3Schools源代码获取cookie,如果您感兴趣(但从第二个链接,技术类似).
我该如何解决我的问题?
谢谢!
Pee*_*Haa 111
您最有可能处理httponlycookie.httponly是您可以在Cookie上设置的标志,这意味着JavaScript无法访问它们.这是为了防止恶意脚本窃取敏感数据甚至整个会话的cookie.
所以你要么必须禁用httponly标志,要么你需要找到另一种方法来获取数据到你的javascript.
通过查看您的代码,应该很容易禁用仅http标志:
Response.AddHeader("Set-Cookie", "CookieName=CookieValue; path=/;");
Response.SetCookie(new HttpCookie("session-id") { Value = Guid.NewGuid().ToString(), HttpOnly = false });
Response.SetCookie(new HttpCookie("user-name") { Value = data.Login, HttpOnly = false });
Run Code Online (Sandbox Code Playgroud)
现在您应该能够从JavaScript访问cookie信息.但是我不确切地知道你想要获得什么样的数据,所以也许你可以选择另一种方法,例如在页面上使用你需要的信息渲染一些数据属性,而不是尝试读取cookie:
<div id="example" data-info="whatever data you are trying to retrieve"></div>
Run Code Online (Sandbox Code Playgroud)
console.log(document.getElementById('example').getAttribute('data-info'));
Run Code Online (Sandbox Code Playgroud)
我多次遇到同样的问题。每一次都是出于不同的原因。
不同的原因:
httpOnly。它被设置为false,我试图从控制台访问它。将其设置为true或从源代码访问它就可以了。secure。是的true,我只使用http。Expires / Max-Age. 该 cookie 已过时,并且在 中不可见document.cookie。| 归档时间: |
|
| 查看次数: |
54410 次 |
| 最近记录: |