2017-02-07 4 views
0

Ich versuche, ein Cookie zu speichern und dann wieder ladenWie kann ich ein Cookie speichern

ich diesen Code haben

<html> 
    <head> 
     <script> 
      var myCookies = {}; 

      function saveCookies() 
      { 
       myCookies["_uuser"] = document.getElementById("user").value; 
       myCookies["_uuage"] = document.getElementById("age").value; 
       //Start Reuseable Section 
       document.cookie = ""; 
       var expiresAttrib = new Date(Date.now()+60*1000).toString(); 
       var cookieString = ""; 
       for (var key in myCookies) 
       { 
        cookieString = key+"="+myCookies[key]+";"+expiresAttrib+";"; 
        document.cookie = cookieString; 
       } 
       //End Reuseable Section 
       document.getElementById("out").innerHTML = document.cookie; 
      } 

      function loadCookies() 
      { 
       //Start Reuseable Section 
       myCookies = {}; 
       var kv = document.cookie.split(";"); 
       for (var id in kv) 
       { 
        var cookie = kv[id].split("="); 
        myCookies[cookie[0].trim()] = cookie[1]; 
       } 
       //End Reuseable Section 
       document.getElementById("user").value = myCookies["_uuser"]; 
       document.getElementById("age").value = myCookies["_uuage"]; 
      } 
     </script> 
    </head> 
    <body> 
     User: <input type="text" id="user"> 
     Age: <input type="text" id="age"> 
     <button onclick="saveCookies()">Save To Cookies</button> 
     <button onclick="loadCookies()">Load From Cookies</button> 
     <p id="out"></p> 
    </body> 
</html> 

, wenn ich sowohl einen Eingang geben Sie für Name und Alter, und klicken Sie auf auf Speichern in Cookies, und dann auf Laden von Cookies, habe ich diese "undefined" für Benutzer und Alter !!

was in meinem Code fehlt, so kann ich die Cookie-

+1

Ihr Beispiel funktioniert gut. Welchen Browser benutzen Sie? – misterwolf

Antwort

1

Für Chrome Cookies speichern kann nur eingestellt werden, wenn die Seite auf einem Webserver ausgeführt wird. Zum Beispiel über http://localhost/foo/bar.html oder http://127.0.0.1/foo/bar.html

zugegriffen

bearbeiten: Sie könnte auch diese Antwort finden Sie unter: where cookie saved for local HTML file ich es selbst gerade getestet: es funktioniert mit Firefox.

Sonst wäre es besser, für solche Fälle zu testen, einen lokalen Webserver wie apache

+0

Ich habe nur die Datei auf Google Chrome gezogen, genau wie mein Freund, und es hat mit ihm funktioniert – khaled

+0

@khaled check out meine bearbeitete Antwort. es funktioniert mit Firefox (in einer echten Webseite, gehostet auf einem Server, wird es auch mit Chrome funktionieren) – InsOp

0

ich Ihren Code von einem Webserver getestet zu setzen und es funktioniert gut.

Sie müssen es von einem Webserver laden, eher aus dem lokalen Dateisystem.

JSFiddle ist hier, wenn Sie es selbst beweisen wollen.

https://jsfiddle.net/brx5ropp/

Beachten Sie, dass aufgrund JSFiddle Einschränkungen musste ich löst den Klick bewegen für die Tasten wie folgt zu codieren:

document.getElementById("load").addEventListener("click", loadCookies); 
document.getElementById("save").addEventListener("click", saveCookies); 

... aber das ist irrelevant für meine Antwort!

Verwandte Themen