【问题标题】:AFNetworking and Network ErrorsAFNetworking 和网络错误
【发布时间】:2012-07-04 19:02:53
【问题描述】:

我正在使用AFNetworking 框架发出几个 JSON 网络请求。

在开发过程中,如果我未能提供所需的参数或服务开发人员破坏了某些东西 :-) 我会收到 500 error

AFJSONRequestOperation 的错误块正确捕获它。但是我看不到页面正文,因为AfNetworking 在收到头部错误代码后立即取消请求。

是否有一些解决方法。我想将响应正文吐到日志中。

【问题讨论】:

    标签: iphone objective-c ios web-services afnetworking


    【解决方案1】:

    使用传递到失败块的操作中的responseDataresponseString 属性。

    【讨论】:

    • 在 AFHTTPRequestOperation 类中找不到这些属性之一
    • Mattt's 真的应该是这里公认的答案。永远不应将“500”响应视为成功。此外,为了回答您的问题 LeonS,responseData 属性在 AFURLRequestOperation 中声明,AFHTTPRequestOperation 是基于该属性的。
    • 请注意,AFURLRequestOperation 头文件不是随 AFHTTPClient 一起导入的。这意味着您必须在访问操作对象的属性之前导入头文件。
    • AFHTTPRequestOperation 现在是AFURLConnectionOperation 的子类,因为AFURLRequestOperation 似乎已经过时(不过我还没有查看历史记录)。 responseData 还在。
    【解决方案2】:

    您需要将 http 代码 500 添加到可接受的状态代码中,并在成功回调中对其进行过滤。在那里你会有一个 responseObject。

    【讨论】:

    • 这是不可取的——请不要这样做。 AFNetworking 区分了successfailure 回调;如果要记录响应的内容,可以在失败回调中使用响应对象的responseDataresponseString 来获取。
    猜你喜欢
    • 1970-01-01
    • 2012-09-06
    • 2015-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-11
    相关资源
    最近更新 更多