Cookie 是一种存储在用户浏览器中的小型文本文件,用于保存用户会话信息、偏好设置或其他数据。它们通常用于跟踪用户行为、维持登录状态等。
在 JavaScript 中,可以通过 document.cookie
属性来获取当前页面的所有 cookie。这个属性返回一个字符串,包含了所有的 cookie,每个 cookie 之间用分号和空格分隔。
// 获取所有cookie
var cookies = document.cookie;
console.log(cookies);
如果需要获取特定的 cookie 值,可以使用以下函数:
function getCookie(name) {
var nameEQ = name + "=";
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,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
// 使用示例
var userCookie = getCookie('username');
console.log(userCookie);
要删除一个 cookie,可以将它的过期时间设置为一个过去的时间点。这样浏览器就会自动移除这个 cookie。
function deleteCookie(name) {
document.cookie = name + '=; Max-Age=-99999999;';
}
// 使用示例
deleteCookie('username');
原因:
解决方法:
原因:
解决方法:
Access-Control-Allow-Origin
头部,并指定允许访问的源。withCredentials
属性在发起跨域请求时携带 cookie。var xhr = new XMLHttpRequest();
xhr.open('GET', 'https://example.com/api/data', true);
xhr.withCredentials = true; // 允许发送cookie
xhr.send();
通过以上方法,可以有效地处理 JavaScript 中 cookie 的获取和删除,以及解决常见的相关问题。
领取专属 10元无门槛券
手把手带您无忧上云