我正在使用AFHTTPRequestOperationManager来发送POST请求.现在我故意输入不正确的信息来处理400错误代码.现在,Web服务实际上返回一个
JSON,其中包含一条消息,向用户解释他们做错了什么.我非常想让这个JSON在UIAlertView中显示消息.但是,失败块:
[operationManager POST:ServerURL parameters:parameters success:^(AFHTTPRequestOperation *operation,id responSEObject) { NSLog(@"Success: Status Code: %d",operation.response.statusCode); } failure:^(AFHTTPRequestOperation *operation,NSError *error) { NSLog(@"Failed: Status Code: %d",operation.response.statusCode); }];
不传递响应对象,如成功块中的响应对象.那么有谁知道如何访问Web服务返回的带有400错误的JSON? NSError *错误只是让我失败:错误的请求(400)而不是返回的JSON.
任何帮助将不胜感激,迈克
解决方法
查看 – responSEObject的代码,似乎HTTP错误阻止了它的填充.您可以直接获取responseData并自行解析,但我会说这是一个错误或一个很好的增强请求. (看起来 – responSEObject可能应该检查self.responseSerializationError,而不是self.error,在决定是否应该尝试构建响应对象时.)