【问题标题】:AFNetworking 2.0 parameter dictionary not working on GET requestAFNetworking 2.0 参数字典不适用于 GET 请求
【发布时间】:2013-10-21 18:19:35
【问题描述】:

我将 AFNetworking 2.0 用于正常的 GET 请求,但参数字典似乎没有效果。我正在使用标准:

 [manager GET:URLString parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {...

但我的 NSMutableDictionary(参数)似乎对 GET 请求中发送的 URL 没有任何影响(据我所知,GET 请求没有 HTTP 主体,因此它们不会存在)。那么参数去哪儿了?我知道我总是可以修改字符串,但是我在可选的基础上接收参数的方式使得只发送字典要容易得多。怎么了,为什么不行?

谢谢,
迈克

更新: 我正在设置这样的参数:[parameters setValue:self.Object.ID forKey:@"Filter.Id"]; ID 是一个字符串。但是,当我执行[parameters valueForKey:@"Filter.Id"] 时,我在 NSLog 中得到一个 (null)。我将对其进行一些处理,看看它是如何进行的,但是如果您对为什么会发生这种情况有任何想法,我将不胜感激。此外,parameters 是一个 NSMutableDictionary,是 ViewController 的一个属性。

【问题讨论】:

  • 通常但不是必需的,参数将进入 URL 的查询组件。像往常一样,您能否提供更多信息,例如在发送请求之前打印请求(和 url),是否有任何错误,请求正文(如果有)?您现在应该有足够的经验来轻松完成此任务;)
  • 如果你使用 AFNetworking 2.0,你的签名不应该是 - (NSURLSessionDataTask *)GET:(NSString *)URLString parameters:(NSDictionary *)parameters success:(void (^)(NSURLSessionDataTask * task, id responseObject))成功失败:(void (^)(NSURLSessionDataTask *task, NSError *error))失败;
  • @CouchDeveloper 你好。顺便说一句,我们在 AFN 2.0 中遇到的编码问题突然消失了,我删除了自定义编码,突然它就起作用了!但是,是的,我在请求中打印了 URL,它只是省略了参数,没有添加任何内容。
  • @Mackey18 自定义编码和内置编码几乎相同。如果参数值没有空格和一些其他 ASCII 字符,如“[”、“]”、“~”(更多),则生成的参数字符串是相同的。但是,如果您的参数值有空格,则内置编码将无法正确编码。
  • @CouchDeveloper 好的,我不认为有任何空格,但我会在回来时仔细检查。那我回来汇报。

标签: iphone ios objective-c afnetworking afnetworking-2


【解决方案1】:

我的 NSMutableDictionary 属性有问题。将其更改为全局变量,一切正常!

谢谢,
迈克

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-28
    • 1970-01-01
    • 1970-01-01
    • 2014-07-12
    • 1970-01-01
    • 1970-01-01
    • 2020-06-13
    相关资源
    最近更新 更多