jquery设置cookie
使用 jQuery 设置 Cookie
jQuery 本身不提供直接操作 Cookie 的方法,但可以通过引入第三方插件 jquery.cookie 或原生 JavaScript 实现。
方法一:使用 jquery.cookie 插件
-
引入插件 确保在 jQuery 后引入插件文件:
<script src="https://cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/jquery.cookie@1.4.1/jquery.cookie.min.js"></script> -
设置 Cookie 使用
$.cookie()方法设置 Cookie:// 简单设置(会话 Cookie,关闭浏览器后失效) $.cookie('cookie_name', 'cookie_value'); // 设置过期时间(7天后过期) $.cookie('cookie_name', 'cookie_value', { expires: 7 }); // 设置路径和域名 $.cookie('cookie_name', 'cookie_value', { expires: 7, path: '/', domain: 'example.com' }); -
可选参数
expires: 过期天数或日期对象。path: Cookie 生效路径(默认为当前页路径)。domain: 生效域名。secure: 是否仅通过 HTTPS 传输(布尔值)。
方法二:原生 JavaScript 实现
如果不想引入插件,可直接使用原生 document.cookie:
// 设置 Cookie
function setCookie(name, value, days, path, domain, secure) {
let expires = '';
if (days) {
const date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
expires = '; expires=' + date.toUTCString();
}
const cookie = [
name + '=' + encodeURIComponent(value),
expires,
path ? '; path=' + path : '',
domain ? '; domain=' + domain : '',
secure ? '; secure' : ''
].join('');
document.cookie = cookie;
}
// 示例:设置一个 7 天后过期的 Cookie
setCookie('username', 'JohnDoe', 7, '/', 'example.com');
注意事项
- 编码问题: 使用
encodeURIComponent对值进行编码,避免特殊字符(如分号、空格)导致问题。 - 路径和域名: 若未指定路径,默认为当前页面路径;未指定域名则为当前域名。
- 安全性: 敏感数据建议添加
secure和HttpOnly标志(需后端支持)。
通过以上方法,可以灵活地在 jQuery 或原生 JavaScript 中管理 Cookie。







