2011-10-05 67 views
2

嘿人們我正在使用jquery插件來創建cookie,當我在localhost上運行它時似乎工作得很完美,但是當我在服務器上測試它不像我期望的那樣工作時。jquery cookie不工作

下面

是我的文件testcookie.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<link rel="shortcut icon" href="3.ico"> 
<script type="text/javascript" src="js/iepngfix_tilebg.js"></script> 
<script src="js/jquery-1.4.2.min.js"></script> 
<script src="js/jquery.cookie.js"></script> 
<script> 
(function($) { 
$(document).ready(function() { 

$.cookie("example", "foo"); 
alert($.cookie("example")); 

});})(jQuery); 
</script> 
</head> 
<body>hello there</body> 
</html> 

結果=沒有警報

這裏的演示 http://namadda.com/demo/testcookie.php

onething我剛纔注意到的是,單擊查看源文件和所有的腳本鏈接正在工作,但jquery.cookie.js沒有顯示,而是我收到錯誤406,當我點擊查看源頁面上的jquery cooke鏈接。但它像其他插件一樣存在於服務器上。

+0

什麼不工作?該cookie的價值沒有被顯示? –

+0

你可以創建jsfiddle用例來演示它不起作用嗎? –

+0

你有什麼期望?你使用IE還是不同的瀏覽器?關於IE瀏覽器,這個瀏覽器有不同的頁面區域和不同的安全選項。如果您的區域中允許使用Cookie,則在網頁位於服務器上時進行檢查。 – reporter

回答

16

最好的解決辦法是重命名文件jquery.cookie.js喜歡的東西jquery_cookie.js

這對我來說是最好的解決辦法,因爲我沒有權限修改的mod_security

+0

也適合我! – CristiC

+1

mod_security與此有什麼關係?你能解釋爲什麼重命名文件的所有突然的作品? – codescribblr

+0

適用於Magento2中的我我只是將我的文件從jquery.cookie.js重命名爲jquery-cookie.js –

5
  1. 確保服務器上存在jQuery和js/jquery.cookie.js js文件。 [1]
  2. 設置到期日期,以便會話後cookie不會被銷燬。
  3. 設置路徑,以便您的cookie可從整個站點訪問(可選)。

結合圖2和3:$.cookie("example", "foo", {expires:7, path:"/"}) - 7天

壽命時間

[1]一個常見的新手錯誤

+0

解決了這個問題我忘記了當瀏覽器關閉時firefox/safari銷燬cookie的expires設置,謝謝:) – Xeli

1

當我訪問http://namadda.com/demo/js/jquery.cookie.js時,出現406 Not Acceptable HTTP錯誤。

在此服務器上找不到所請求資源的合適表示 /demo/js/jquery.cookie.js。

此外,在嘗試 使用ErrorDocument來處理請求時遇到404未找到錯誤。

某些東西在您的服務器上配置不正確。

+0

我通過重命名文件jquery.cookie解決了這個問題。 js – harsh

3

重命名文件jquery.cookie.js去別的東西應該成功。