2016-07-19 55 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;'; 
}