0

我正在做一个练习来熟悉 cookie 的设置和删除。自然地,我把它放在了一家假面包店里。

我已经尝试按照 Hamper 模型来获取 cookie,并且能够将它们存储到控制台上。但是由于某种原因,我尝试通过 Javascript 从本地服务器中删除它们的每种方法都失败了。我尝试过 Cookies.expire()、Cookies.set((key,null)).get(key) 等。即使我重新启动服务器,它们似乎都不起作用。

为了您的方便,我在下面附上了一个 Github 存储库。

https://github.com/jdshatz/cookies2

4

1 回答 1

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 函数 - 包括重新加载以及函数名称。似乎 clear() 没有结果:(

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;';
}
于 2016-07-19T08:41:41.573 回答