document.cookie不显示cookie
时间: 2024-06-13 15:05:07 浏览: 109
在前后端联调的时候,后端需要在入参中传入 cookie。于是想通过 document.cookie 来获取,但是发现浏览器有 cookie 但是无法获取到。这是因为 document.cookie 只能获取当前页面的 cookie,而不能获取 HttpOnly 的 cookie 和其他域名下的 cookie。HttpOnly 的 cookie 是为了防止 XSS 攻击而设置的,无法通过 JavaScript 获取。而其他域名下的 cookie 也无法获取,因为浏览器的同源策略限制了 JavaScript 对其他域名下的 cookie 的访问。
相关问题
14.下列那段代码可以获取获取Cookie?( 1.5分) A.document.getElementByld(cookie) B.document.cookies C. document.getElementByld(cookies) D.document.cookie
正确答案是 D. document.cookie。在 JavaScript 中,可以使用 document.cookie 来获取当前页面的 Cookie 值。该属性返回一个字符串,其中包含所有的 Cookie 信息,格式通常为 key1=value1; key2=value2; ...。可以通过字符串分割等方式来解析 Cookie 信息,从而获取需要的值。而其他选项中,document.getElementByld(cookie)、document.getElementByld(cookies) 都是错误的代码,因为 getElementByld 方法用于获取指定 ID 的 HTML 元素,而不是 Cookie 值。document.cookies 也是错误的代码,因为该属性不存在,正确的属性名应该是 document.cookie。
document.cookie
`document.cookie` 是 JavaScript 中的一个内置对象属性,它允许你在浏览器的客户端存储一些小的数据,通常用于管理用户的会话信息。这个 `cookie` 字符串是由一系列键值对组成的,每个键值对之间由分号 (`;`) 分隔,整个字符串以分号和空格结束。键名和对应的值之间用等号 (`=`) 连接,有时为了加密或保护数据,还会加上一个可选的时间戳和域名路径限制。
当你读取 `document.cookie` 的时候,JavaScript 会返回一个包含所有已设置 cookie 的字符串;如果你想设置、修改或删除某个 cookie,可以使用 `document.cookie` 的语法,比如:
```javascript
// 设置 cookie
document.cookie = 'key=value; expires=Sat, 01 Jan 2022 00:00:00 GMT; path=/';
// 获取特定 key 的 cookie
var cookieValue = getCookie('key');
// 删除 cookie
document.cookie = 'key=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/';
```
阅读全文