2011-01-05 12 views
6

Estoy trabajando en una aplicación para iPhone usando el teléfono GAP.En mi aplicación estamos usando un DB externo. Usuario ingresado usando el servicio web, necesito almacenar el ID de usuario después de iniciar sesión. Cómo almaceno el ID de usuario usando el teléfono GAP ¿Puedo usar el almacenamiento de sesión GAP del teléfono para esto? ¿Es posible?GAP de teléfono SessionStorage

Cualquiera sabe por favor ayuda.

Gracias, Compañero.

Respuesta

12

Usted realmente no tiene el concepto de "sesión" en Phonegap - usted tiene local de HTML5 para almacenar datos persistentes (piensa "ámbito de aplicación"):

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

usuario Acceder:

$('#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

utilizando una solicitud GET no es la forma de iniciar sesión. Es muy vulnerable. Use una solicitud POST en su lugar, a través de SSL para estar seguro. – baklap

+0

"Realmente no tienes el concepto de" sesión "en Phonegap" - esto no es correcto –

3

Puede intentar lawnchair para almacenar datos como JSON.

+0

La ventaja adicional de esto es que puede fácilmente portar a otras plataformas PhoneGap que no necesariamente admitirán un mecanismo de almacenamiento fuera de línea específico. La sugerencia de Kris a continuación es correcta (¡la subí!) Pero una solución más sólida sería emplear Lawnchair para el uso futuro de la aplicación en otras plataformas. –

+0

enlace de silla de jardín roto – botbot

9

Lawnchair es probablemente demasiado para almacenar e identificar, simplemente use HTML5 local storage.

0

There es un concepto de SessionStorage. Funciona de la misma manera que localStorage, pero se borra cada vez que se cierra la aplicación

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

Puede configurar almacenamiento de las sesiones de esa manera

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

Usted recibirá esta variable de sesión como la

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

Nota: Esta variable se restablecerá después de cerrar la aplicación, pero si desea guardar en localstorage, entonces necesita la función localStorage que no se restablecerá después de cerrar la aplicación

Cuestiones relacionadas