Pregunta

Estoy construyendo una aplicación para iPhone usando PhoneGap. Estoy usando el complemento de los brotes de niños.

Si tengo un formulario en la aplicación con nombre de usuario/pase, ¿de todos modos puedo publicar esa información en una URL como www.mydomain.com/login.php y abrirla en el brote de niños?

Por favor hagamelo saber.

Gracias.

¿Fue útil?

Solución

Ciertamente puede pasar los parámetros para childBrowser.showWebPage().

Puede interceptar el envío de su formulario en su aplicación y recopilar los nombres y valores de campo aprobados (suponiendo que este sea un formulario de inicio de sesión, por lo que diga el nombre de usuario y la contraseña) y pasarlos como parámetros a la URL abierta en el cañón de los niños.

childBrowser.showWebPage('https://www.mydomain.com/login.php?username='+username+'&password='+password)

Esta es una versión bastante poco sofisticada para fines de demostración. No tomaría mucho para mejorarlo.

La captura es, por supuesto, que se está enviando a través de Get. Si su formulario de inicio de sesión espera una publicación y no puede cambiar eso, podría tener un problema.

Editar:

Si Post es su única opción, tal vez estaría mejor usando AJAX para publicar en el formulario en lugar de usar el navegador infantil.

Otros consejos

Estaba buscando una solución y terminé desarrollándola. Esto no sale de la caja en el cañón de niños para iPhone. Entonces, aquí el código que agregué al complemento. FYI, los datos deben ser una cadena con el formato: arg1 = value1 & arg2 = value2 & foo = bar

ChildbrowserviewControllerHe agregado el siguiente método allí:

- (void)postURL:(NSString*)url data:(NSString*)data{
NSMutableURLRequest *request = [[NSMutableURLRequest alloc]initWithURL: [NSURL URLWithString:url]];
[request setHTTPMethod: @"POST"];
[request setHTTPBody: [data dataUsingEncoding: NSUTF8StringEncoding]];
[webView loadRequest: request];
webView.hidden = NO;}

Marco de niñosHe agregado el siguiente código en el método ShowWebPage:

NSString* method = [ options objectForKey:@"method"];
if ([method isEqualToString:@"POST"]){
    [childBrowser postURL:url data:[options objectForKey:@"data"]];
}else{
    [childBrowser loadURL:url];
}

¡Hth! Milton.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top