2013-11-28 22 views
5

我加載JSON與afnetworking 2.0:AFHTTPRequestOperationManager urlstring編碼和無效的參數並不令人滿意: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); 
}]; 

控制檯錯誤:

'Invalid parameter not satisfying: URLString' 

有需要的URL編碼?

,但我不喜歡這樣寫道:

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

仍然錯誤!

我該怎麼辦?

+2

將在你的URL字符串以.json。其他的東西,參數,應該放在一個NSDictionary中,並傳遞給'parameters'(你現在傳遞'nil'。) –

+0

@AaronBrager謝謝,它可以與NSDictionary一起工作。 – justin

回答

0

看起來你正在構建的URL有很多問題,以及你傳遞(或不傳遞)參數到AFNetworking的方式。你不需要自己構造你的查詢字符串,因爲AFNetworking會爲你做。正如我在上面的評論中提到的,傳遞query = where UserName ='abc'作爲URL的一部分似乎是一個壞主意。但是,這裏有一個你會怎麼稱呼AFNetworking的GET方法,如果您的網址是略有不同的一個簡單的例子:

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

你試試這個代碼:d

相關問題