2013-11-28 9 views
5

sto caricando JSON con afnetworking 2.0:AFHTTPRequestOperationManager URLString codifica & parametro valido non soddisfacente: urlString

NSString *weatherUrl = @"http://www.souche.com/pages/dicAction/loadRootLevel.json?request_message={\"type\":\"car-subdivision\"}"; 
weatherUrl = [weatherUrl stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; 
[manager GET:weatherUrl parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) { 
    NSLog(@"JSON: %@", responseObject); 
} failure:^(AFHTTPRequestOperation *operation, NSError *error) { 
    NSLog(@"Error: %@", error); 
}]; 

errore console:

'Invalid parameter not satisfying: URLString' 

C'è bisogno di codifica URL?

ma lo faccio in questo modo:

NSString *weatherUrl = @"http://www.souche.com/pages/dicAction/loadRootLevel.json?request_message={%22type%22:%22car-subdivision%22}"; 

ancora errore!

Come posso fare?

+2

mettere fino a .json nella stringa URL. Le altre cose, i parametri, dovrebbero essere inseriti in un NSDictionary e passati per 'parameters' (dove stai passando' nil' ora.) –

+0

@AaronBrager grazie, funziona con NSDictionary. – justin

risposta

0

Sembra che ci siano una serie di problemi con l'URL che stai costruendo e il modo in cui stai passando (o non passando) i parametri in AFNetworking. Non è necessario costruire la stringa di query da soli, poiché AFNetworking lo farà per te. Come menzionato nel mio commento sopra, passare query = dove UserName = 'abc' come parte di un URL sembra una cattiva idea. Tuttavia, ecco un rapido esempio di come ci si chiama il metodo GET del AFNetworking se l'URL era leggermente diverso:

URL format: https:////?username=abc&companyId=&page=1&pageSize=25&filterResultByColumns=true

si tenta questo codice: D