首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

jQuery Cookie 插件失效:版本不匹配與引入順序排查

     編輯:程式設計綜合問答

現象

點擊按鈕彈出用戶名密碼,但 `$.cookie(...)` 執行後 `alert('cookie saved')` 不彈出,Cookie 未寫入。

根因分析

  1. 插件版本不存在:`jquery.cookies.2.2.0.min.js` 非官方版本。官方 jquery-cookie 最高版本為 1.4.x(GitHub: carhartl/jquery-cookie)。
  2. 命名空間衝突:錯誤插件可能未將 `cookie` 掛載到 `jQuery.fn` 或 `$` 上。
  3. 引入順序:必須在 `jquery.js` **之後** 引入插件。

修正步驟

  1. 下載官方插件:https://github.com/carhartl/jquery-cookie(`dist/jquery.cookie.min.js`)。
  2. 頁面引入順序:
<script src="jquery/jquery-1.8.3.min.js"></script>
<script src="jquery/jquery.cookie.min.js"></script> <!-- 官方插件 -->
<script>
$(function() {
    $("#sub").click(function() {
        var uname = $("#uname").val();
        var upwd = $("#upwd").val();
        if (!uname || !upwd) return alert("請填寫完整");

        $.cookie("uname", uname, { expires: 7, path: '/' });
        $.cookie("upwd", upwd, { expires: 7, path: '/' }); // 注意:生產環境**切勿**明文存密碼
        alert('cookie saved');
    });
});
</script>

安全提示

**絕不在 Cookie 存儲明文密碼**。正確做法:服務端驗證後下發 `HttpOnly; Secure; SameSite=Strict` 的 Session ID,前端僅存儲非敏感標識(如 `remember_me_token`)。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved