2011-09-27 18 views
7

Estoy tratando de crear una aplicación de Android con phonegap, la primera página es la página de inicio de sesión, consulta a un servidor para autenticación de usuario, el servidor devuelve json cadena: verdadero si el inicio de sesión es exitoso o falso en caso contrario. Recibo la respuesta, pero no puedo redireccionar a la siguiente página html. Estoy utilizando el código de abajo¿Cómo redirigir a la página html local en la aplicación de Android phonegap?

$('#loginForm').submit(function(){ 
    var uid = $('#login').val(); 
    var pwd = $('#password').val(); 

    $.getJSON('http://example.com/phonegap/login.php', 
     { userid: uid, password: pwd }, 
     function(json) { 
      $.each(json, function(k, v) { 
       if(v == "true" || v == true){ 
        super.loadUrl("file:///android_asset/www/page2.html"); 
       } else { 
        $('#loginError').html("Login failed, username and/or password don't match"); 
       } 
     }); 
    }); 
    return false; 
}); 

Por favor, hágamelo saber, ¿cómo puedo redirigir al usuario a page2.html después del inicio de sesión correcto?

Respuesta

13

Puede llamar a otras páginas HTML usando window.location y si su página html segundo presentes en la carpeta www no da la ruta completa (Por favor, elimine la ruta de forma nativa). Por favor, mira el siguiente código.

$('#loginForm').submit(function(){ 
    var uid = $('#login').val(); 
    var pwd = $('#password').val(); 
    $.getJSON(' http://example.com/phonegap/login.php ', 
     { userid: uid, password: pwd }, 
     function(json) { 
      $.each(json, function(k, v) { 
       if(v == "true" || v == true){ 
        window.location="page2.html"; 
       } else { 
        $('#loginError').html("Login failed, username and/or password don't match"); 
       } 
     }); 
    }); 
    return false; 
});

+0

Muchas gracias, ha resuelto mi problema. Estuve luchando con este problema desde hace 2-3 días. – Arif

+0

Ya lo hizo ... Gracias de nuevo. – Arif

+0

Usando PhoneGap 1.5.0, jquery 1.7.1 y jquery mobile 1.0.1 esto da como resultado un "Servidor JSCallback Cerrado: Detener las devoluciones de llamada". error (al menos en mi caso) deshabilitar las secuencias de comandos después de la redirección. Usando la función jquery "$ .mobile.changePage ('url');" todo funciona bien – Redfox

0

probar el método de carga jQuery

http://api.jquery.com/load/

+0

Tengo que redirigir en lugar de cargar su contenido en una etiqueta html .. Gracias de todos modos. – Arif

0

desde una perspectiva javascript puro,
Will window.location.href = 'something.html'; no funciona?

+0

Funcionó .. Gracias – Arif

+0

@karnyj pero la vista web se está cambiando ......... –

0

karnyj tiene razón, ya que la solución marcada tiene errores para iOS. El uso de window.location = "url" a veces congelará la aplicación en iOS (ocurre cada vez que reinicio el dispositivo).

// Este es el camino a seguir window.location.href = 'something.html';

0

Las rutas relativas deberían estar bien.

he encontrado window.location = './yourPage.html' (y
window.location.href = './yourPage.html') no siempre funcionan,
y han tenido éxito en el uso: window.location.replace('./yourPage.html');

0

window.location.replace ('xyz.html') ; ¡Funciona siempre!

Cuestiones relacionadas