Mi chiedevo se fosse possibile acquisire i dati POST e salvarlo quando un pulsante di invio è stato premuto in un UIWebView. Dovrei usare javascript e aggiungere eventlisteners in modo da poter ottenere i valori prima che l'invio passi? In tal caso, come potrei ottenere i dati sul mio codice in obj c? Altrimenti, c'è un modo più semplice? GrazieAcquisizione dati POST da UIWebView
6
A
risposta
11
È necessario implementare UIWebViewDelegate. C'è un hook chiamato "shouldStartLoadWithRequest" che viene chiamato da iOS.
Psueudocodice di seguito.
@interface MyController<UIWebViewDelegate>
@end
@implementation MyController
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
// do your magic
NSData *data = request.HTTPBody; // contains the HTTP body as in an HTTP POST request.
// return YES to continue to load the URL
}
@end
Problemi correlati
- 1. Acquisizione dati POST JSON non validi in Express?
- 2. Acquisizione di dati POST HTTP non elaborati durante l'eccezione
- 3. Acquisizione di dati POST non elaborati quando si utilizza [FromBody]
- 4. Dati di acquisizione da Python da un'applicazione asp.net AJAX
- 5. Ottieni dati POST da WebKitNetworkRequest
- 6. Casbah Scala MongoDB driver - acquisizione dati da un DBObject
- 7. Naviga e post i dati da Silverlight
- 8. Ottieni dati POST da Android Webview
- 9. Lettura JSON da SimpleHTTPServer Dati post
- 10. dati post su script PHP da iOS
- 11. Accesso ai dati POST da WSGI
- 12. Passa array di dati da $ $ POST angolare
- 13. Ottieni dati POST da più checkbox?
- 14. Dati POST al servizio WCF da WP7
- 15. Richieste Python - dati POST da un file
- 16. Rimozione ombre da UIWebView
- 17. Rileva window.open() da UIWebView
- 18. Django con IOS: acquisizione di dati multiparte (json + immagine) via POST
- 19. Errori di acquisizione dati di modifica
- 20. Interrupt hardware per acquisizione dati sincrona
- 21. Acquisizione dell'output binario da Process.StandardOutput
- 22. Acquisizione frame OpenCV da AVI
- 23. nginx riscrittura dati post
- 24. Toolbox di acquisizione dati per Matlab?
- 25. Come posso inserire una richiesta POST in un UIWebView
- 26. Dati binari POST Python
- 27. solr dati multicore post
- 28. Ottieni dati post-raw
- 29. Dati POST risorse $ predefiniti
- 30. RestTemplate registrazione dati POST
Grazie, ho potuto NSLog i dati. Tuttavia, se volessi anche il testo originale dei campi inviati, avrei bisogno di javascript? – bph
Raccomando di passare il testo/etichetta originale come campo modulo nascosto e quindi di estrarlo come un campo nei dati POST. Se non preferisci questo, puoi usare valutare javascript arbitrario usando [webView stringByEvaluatingJavaScriptFromString: @ ""]; –
Ash
È possibile ottenere il testo dei dati POST con il metodo ... '[[NSString alloc] initWithData: codifica dei dati: NSASCIIStringEncoding]' –