2016-07-19 7 views
0

Ich arbeite an einer Übung, um sich mit dem Setzen und Löschen von Cookies vertraut zu machen. Natürlich habe ich es in eine falsche Bäckerei gesetzt.Cookies können speichern, aber nicht löschen

Ich habe versucht, dem Hamper-Modell für Cookies zu folgen, und konnte sie auf der Konsole speichern. Aber aus irgendeinem Grund ist jede Methode, die ich versucht habe, sie vom lokalen Server durch Javascript zu löschen, fehlgeschlagen. Ich habe versucht, Cookies.expire(), Cookies.set ((Schlüssel, null)). Get (Schlüssel), etc. Keiner von ihnen scheint zu arbeiten, auch wenn ich den Server neu starten.

Für Ihre Bequemlichkeit habe ich unten ein Github-Repository beigefügt.

https://github.com/jdshatz/cookies2

Antwort

1

Es gibt eine Funktion in confections2.js

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

Welche nicht korrekte Syntax ist. Stattdessen sollte es

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

Dann in index.html

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

dann die Javascript-Funktion ändern geändert werden - enthalten Reload sowie Funktionsnamen. Es scheint, dass clear() keine Ergebnisse :(

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

} erzeugt;

es die Werte zurückgesetzt auf null und 0. Aber es löscht eigentlich keine Cookies Sie können wie folgt ändern -

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