2016-07-19 52 views
0

我正在開展一項練習,以熟悉Cookie的設置和刪除。當然,我把它放在假面包店裏。Cookie可以存儲但不能刪除

我試圖遵循Hamper模型的cookie,並且已經能夠將它們存儲在控制檯上。但由於某種原因,我試圖通過Javascript從本地服務器刪除它們的每種方法都失敗了。我嘗試過Cookies.expire(),Cookies.set((key,null)).get(key)等。他們似乎都不起作用,即使我重新啓動服務器。

爲了您的方便,我在下面附加了一個Github存儲庫。

https://github.com/jdshatz/cookies2

回答

1

有一個在confections2.js

document.getElementById('Order').on('click', function(){ 

的函數,而不是正確的語法。相反,它應該是

document.getElementById('Order').onclick = function() { 
    var name = document.getElementById('consumer_name').value; 
    Cookies.set('consumer_name', name).get('consumer_name'); 
    var chocolate = document.getElementById('chocolate').value; 
    Cookies.set('chocolate', chocolate).get('chocolate'); 
    var sugar = document.getElementById('sugar').value; 
    Cookies.set('sugar', sugar).get('sugar'); 
    var lemon = document.getElementById('lemon').value; 
    Cookies.set('lemon', lemon).get('lemon'); 
} 

然後index.html中

<input type="button" value="Reset" onclick="clearCookies();"> 

改變然後改變的JavaScript功能 - 包括重載以及函數名。看來,清除()不會產生任何結果:(

function clearCookies(){ 
    Cookies.set('consumer_name', null); 
    Cookies.set('chocolate', 0); 
    Cookies.set('lemon',0); 
    Cookies.set('sugar',0); 
    location.reload(); 

};

它重置值爲null和0,但它實際上並沒有刪除Cookie,可以修改這樣的 -

function clearCookies(){ 
//  Cookies.set('consumer_name', null); 
//  Cookies.set('chocolate', 0); 
//  Cookies.set('lemon',0); 
//  Cookies.set('sugar',0); 
     delete_cookie('consumer_name'); 
     delete_cookie('chocolate'); 
     delete_cookie('lemon'); 
     delete_cookie('sugar'); 
     location.reload(); 
}; 


function delete_cookie(name) { 
    document.cookie = name +'=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;'; 
}