Domanda

Sto costruendo un iPhone App utilizzando PhoneGap. Sto usando ChildBrowser plugin.

Se ho un modulo in App con nome utente / passaggio, è qualche cosa che posso inviare queste informazioni a un URL del tipo www.mydomain.com/login.php e aprirlo in ChildBrowser?

Per favore fatemi sapere.

Grazie.

È stato utile?

Soluzione

Si può certamente passare parametri GET al childBrowser.showWebPage().

Si potrebbe intercettare il submit del modulo nella vostra app e raccogliere i nomi dei campi ei valori passati (supponendo che questo è un modulo di accesso, così dicono username e password) e passarli come parametri all'URL aperto nel ChildBrowser.

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

Questa è una versione piuttosto sofisticato a scopo dimostrativo. Non ci vuole molto per renderlo migliore.

Il problema è, naturalmente, che viene inviato tramite GET. Se il form di login si aspetta il POST e non si può cambiare la situazione, si potrebbe avere un problema.

Modifica:

Se il POST è l'unica opzione, forse si sarebbe meglio usare AJAX per inviare alla forma invece di utilizzare il browser del bambino.

Altri suggerimenti

Ero alla ricerca di una soluzione, e si è concluso in via di sviluppo di esso. Questo non viene fuori dalla scatola in childbrowser per iPhone. Quindi, ecco il codice che ho aggiunto al plugin. Cordiali saluti, i dati dovrebbero essere una stringa con il formato: arg1 = valore1 & arg2 = valore2 & foo = bar

ChildbrowserViewController Ho aggiunto il seguente metodo c'è:

- (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;}

ChildbrowserCommand Ho aggiunto il seguente codice nel metodo showWebPage:

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

HTH! Milton.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top