AFHTTPRequestOperationManager urlstring 编码和无效参数不满足:URLString
Posted
技术标签:
【中文标题】AFHTTPRequestOperationManager urlstring 编码和无效参数不满足:URLString【英文标题】:AFHTTPRequestOperationManager urlstring encoding & Invalid parameter not satisfying: URLString 【发布时间】:2013-11-28 07:16:26 【问题描述】:我正在使用 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'
需要url编码吗?
但我是这样做的:
NSString *weatherUrl = @"http://www.souche.com/pages/dicAction/loadRootLevel.json?request_message=%22type%22:%22car-subdivision%22";
还是错误!
我该怎么办?
【问题讨论】:
在您的 URL 字符串中最多添加 .json。其他的东西,参数,应该放在一个 NSDictionary 中并传递给parameters
(你现在正在传递nil
。)
@AaronBrager 谢谢,它适用于 NSDictionary。
【参考方案1】:
您正在构建的 URL 以及您将参数传递(或不传递)到 AFNetworking 的方式似乎存在许多问题。您不需要自己构建查询字符串,因为 AFNetworking 会为您完成。正如我在上面的评论中提到的,将 query=where UserName='abc' 作为 URL 的一部分传递似乎是个坏主意。但是,如果您的 URL 稍有不同,这里有一个快速示例,说明如何调用 AFNetworking 的 GET 方法:
网址格式: https:////?username=abc&companyId=&page=1&pageSize=25&filterResultByColumns=true
你试试这个代码:D
【讨论】:
以上是关于AFHTTPRequestOperationManager urlstring 编码和无效参数不满足:URLString的主要内容,如果未能解决你的问题,请参考以下文章