2011-01-05 2 views
6

Io lavoro su un'applicazione iPhone utilizzando il telefono GAP.Nella mia app usiamo un DB esterno. Accesso utente tramite servizio web, ho bisogno di memorizzare l'ID utente dopo il login .Come memorizzo l'ID utente tramite telefono GAP . Posso usare il telefono GAP Session Storage per questo? è possibile?Telefono GAP SessionStorage

Qualcuno sa per favore aiuta.

Grazie, Compagno.

risposta

12

È davvero non hanno il concetto di "sessione" in PhoneGap - bisogna HTML5 localStorage per memorizzare i dati persistenti (si pensi "portata di applicazione"):

var userId = localStorage.getItem("userId"); 
if (userId==null || userId==0) { 
    jQT.goTo("#login"); 
} 

utente Log in:

$('#btnLogin').click(function(){ 
$("#loginFailure").hide(); 
$.getJSON(svcUri + "authenticate.cfm?username="+$("#username").val()+"&password="+$("#password").val() + "&callback=?",function(data) { 
    localStorage.setItem("userId",data.userid); 
    userId = data.userid; 
    if (data.userid != 0) { 
    // do some tasks after logging in 
    jQT.goTo('#travelz'); 
    } else { 
    $("#loginFailure").show(); 
    } 
    }); 
return false; 

});

+0

utilizzando una richiesta GET non è il modo di fare il login. È troppo vulnerabile. Utilizzare invece una richiesta POST, su SSL per sicurezza. – baklap

+0

"Davvero non hai il concetto di" sessione "in PhoneGap" - questo non è corretto –

3

Si potrebbe provare lawnchair per memorizzare i dati come JSON.

+0

Il vantaggio di questo è che è possibile effettuare facilmente il porting su altre piattaforme PhoneGap che non supporteranno necessariamente un meccanismo di archiviazione offline specifico. Il suggerimento di Kris in basso è corretto (l'ho svalutato!) Ma una soluzione più robusta sarebbe quella di impiegare Lawnchair per l'uso futuro dell'app su altre piattaforme. –

+0

collegamento sedia a sdraio rotto – botbot

9

La sedia a sdraio è probabilmente eccessiva solo per memorizzare e ID, basta usare HTML5 local storage.

0

è un concetto di SessionStorage. Funziona allo stesso modo di localStorage, ma viene cancellato ogni volta che si chiude l'applicazione

var keyName = window.sessionStorage.key(0); //Get key name 
window.sessionStorage.setItem("key", "value"); //Set item 
var value = window.sessionStorage.getItem("key");// Get item 
window.sessionStorage.removeItem("key"); //Remove Item 
window.sessionStorage.clear();//Clear storage 
0

È possibile impostare memorizzazione delle sessioni come quella

var userid = 10; 
sessionStorage.setItem('UserId',userid); 

Otterrete questa variabile di sessione come quella

var data = sessionStorage.getItem('UserId'); 

Nota: questa variabile verrà reimpostata dopo l'app chiusa, ma se si desidera salvare su localstorage è necessario la funzione localStorage che non verrà ripristinata dopo l'app vicina