2016-07-19 23 views
0

私はクッキーの設定と削除に精通する練習に取り組んでいます。当然、私は偽のパン屋でそれを設定しました。クッキーは保存することができますが、削除することはできません

私はクッキーのハンパーモデルに従うようにして、コンソールにそれらを保存することができました。しかし何らかの理由で、Javascriptを使ってローカルサーバから削除しようとしたすべてのメソッドが失敗しました。私はCookies.expire()、Cookies.set((key、null))。get(key)などを試しました。

お客様の便宜のため、以下にGithubリポジトリを添付しました。

https://github.com/jdshatz/cookies2

答えて

1

正しい構文ではありませんconfections2.js

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

内の関数があります。リロードだけでなく、関数名を含むように - その代わりに、JavaScript関数を変更後のindex.htmlに

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

を変更すると

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'); 
} 

でなければなりません。明確な()は何の結果:(

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

}を生成しないようだ。

それは値をnullと0にリセットされます。しかし、それは実際にクッキーを削除しませんあなたはこのように変更することができます -

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;'; 
} 
関連する問題