2013-04-13 108 views
0

[JavaScript錯誤]調試Cookie錯誤

你好, 我有一個網頁,其設置一個cookie:

function start() { 
var expirydate=new Date(); 
expirydate.setTime(expirydate.getTime()+(100*60*60*24*100)); 
setCookie('product',null,expirydate); 
window.location="mainpage.html";} 
function setCookie(name,value,expires){ 
document.cookie = name + "=" + value + ((expires==null) ? "" : ";expires=" + expires.toGMTString())} 

然後另一個網頁訪問它:

function cart(productName) { 
var expirydate=new Date(); 
expirydate.setTime(expirydate.getTime()+(100*60*60*24*100)) 
var productnames=getCookie('product') 
alert(productnames); 
var products=productnames+" "+productName; 
setCookie('product',products,expirydate); 
alert(products); 
window.location = "cart.html";} 

,並增加了(會連接)cookie的舊值與查看器的新輸入並保存。

這是爲了購物車的目的。每次查看者在產品頁面上點擊「添加到購物車」時,產品名稱(productName)都會添加到包含查看者已添加的所有產品的cookie中。

但是,這似乎並不奏效。訪問cookie的網頁每次向Cookie添加內容時都會將其重置爲空。因此,我只會獲取觀衆最後選擇的產品名稱,而不是產品名稱列表。

請幫助!這非常非常緊迫!提前致謝。

回答

0

我沒有用過多的cookie,但也許cookie一次只存儲一個值,這就是爲什麼你只能得到最後選擇的產品。如果有任何方法在一個cookie中存儲數組,我會使用一個數組,因爲它可以存儲多個項目。如果沒有,您可以嘗試存儲多個Cookie。我不知道這個代碼 - 正如我所說的,我還沒有用cookies來做很多工作。

希望這會有所幫助!

+0

哦,我明白了。 Chrome拒絕文件Cookie。查看更多信息http://stackoverflow.com/questions/8105135/cannot-set-cookies-in-javascript/15998274。我在最後回答了這個問題。 – user2257736