2013-08-06 14 views
13

Ich bekomme Name und E-Mail-ID eines Benutzers, nachdem er sich über Facebook auf meiner Website anmeldet. Ich möchte diese Variablen in Sitzung auf Login-Formular selbst mit Javascript hinzufügen; Ich habe versucht, folgende:Einstellung Sitzungsvariable mit Javascript

FB.api('/me', function(me) { 
     if (me.name) { 
      document.getElementById('auth-displayname').innerHTML = me.name; <% Session["fbName"] = me.name; %> 
     } 
} 

es Fehler wie mich gibt (in dieser Zeile: <% Session [ "FBName"] = me.name;%>) existiert nicht im aktuellen Kontext etc .. meine div „auth-name“ wird dieser Wert immer, aber ich habe Probleme mit Session-variablen

Wie kann ich dies tun

Antwort

8

Eine Sitzung Server-Seite gespeichert ist, können Sie es nicht mit JavaScript ändern. Sitzungen können vertrauliche Daten enthalten.

Sie können Cookies mit document.cookie ändern.

Sie können leicht viele Beispiele finden, wie Sie Cookies ändern können.

+0

In vielen Sprachen werden Sitzungsvariablen auf der Clientseite über Cookies gespeichert. –

+0

@bernando zum Beispiel? – Yang

+1

@BernardoSiu In der Regel sieht der Client nur ein Sitzungs-ID-Cookie, und selbst das kann mit _HttpOnly-Cookies_ vor JavaScript verborgen werden. Es ist wichtig, den Unterschied zwischen Sitzungen und Cookies zu erkennen, sie sind nicht das Gleiche. – Halcyon

5

Sie könnten besser die localStorage des Webbrowsers verwenden.

Sie einen Verweis here

+0

Warum die Abstimmung runter? Könnten Sie bitte erklären? –

+0

Ich habe nicht downvote, aber es könnte sein, da localStorage und Session Storage ziemlich unterschiedliche Dinge sind - ABER, je nach Bedarf, hast du recht, dass * es * nützlich sein könnte, um das ursprüngliche Problem des Fragestellers zu lösen ... was auch immer es ist. – Katana314

+1

localStorage? sessionStorage verwenden – User

28

finden Sie

sessionStorage.SessionName = "SessionData" verwenden können,

sessionStorage.getItem("SessionName") und

sessionStorage.setItem("SessionName","SessionData");

Siehe die unterstützten Browser auf http://caniuse.com/namevalue-storage

Verwandte Themen