AFHTTPRequestOperationManager urlstring encoding&无效参数不满足:URLString

时间:2013-11-28 07:16:27

标签: afnetworking afnetworking-2

我正在使用afnetworking 2.0加载json:

NSString *weatherUrl = @"http://www.souche.com/pages/xx/xx.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'

是否需要网址编码?

但我是这样做的:

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

仍然是错误!

我该怎么办?

1 个答案:

答案 0 :(得分:0)

看起来您正在构建的URL存在许多问题,以及您将参数传递(或未传递)到AFNetworking的方式。您不需要自己构建查询字符串,因为AFNetworking会为您执行此操作。正如我在上面的评论中所提到的,传递query = where UserName ='abc'作为URL的一部分似乎是一个坏主意。但是,这里有一个简单的示例,说明如果您的网址略有不同,您将如何调用AFNetworking的GET方法:

  

网址格式:   ?HTTPS:////用户名= ABC&安培; companyId =安培;页= 1&安培;的pageSize = 25安培; filterResultByColumns =真

你试试这段代码:D