Ho un'app iOS in cui sto caricando il contenuto html all'interno di una webview. L'html è una pagina di accesso in cui le credenziali dell'utente vengono inviate al server tramite ajax e viene ricevuta una risposta di successo/errore di autenticazione. Ora, la risposta contiene un cookie (nel campo Set-Cookie
intestazione), che posso catturare sul lato Objective-C in questo modo,Impossibile leggere il cookie nel browser UIWebview con document.cookie
NSDictionary* headers = [(NSHTTPURLResponse *)response allHeaderFields];
NSString *strCookies = [headers valueForKey:@"Set-Cookie"];
NSLog(@"cookies -> %@", strCookies);
La stessa risposta contiene anche una responseText
che uso all'interno del browser:
Ajax("/login", "POST", { onsuccess : function(response){
/* Do HTML stuff with response */ }
});
Ora ho bisogno del cookie per effettuare ulteriori richieste ajax (dopo la pagina di accesso). Tuttavia, il cookie non è impostato all'interno del browser webview. Cerchi document.cookie
restituisce una stringa vuota. Posso stampare tutte le intestazioni di risposta usando xhr.getAllResponseHeaders()
ma non riesco ad accedere al campo Set-Cookie
nell'oggetto xhr.
Come si può impostare il cookie all'interno della visualizzazione Web? O non ho altra scelta che fare tutte le richieste di ajax tramite Obj-C?
@fenderplayer abbiamo risposto alla tua domanda? –