当服务器无法发送有效的JSON响应时(fe.php echos一些临时变量或出现问题),我很难获得responseString
。我使用AFNetwoking
中的AFJSONRequestOperation
,如下所示:
AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request
success:^(NSURLRequest *request, NSHTTPURLResponse *response, id responseObject) {
NSLog(@"object: %@", responseObject);
}
failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, id responseString) {
NSLog(@"failure: %@", responseString);
}
];
responseString
是故障的情况下总是nil
。当我试图阅读文档时(http://cocoadocs.org/docsets/AFNetworking/1.3.1/Classes/AFJSONRequestOperation.html#//api/name/JSONRequestOperationWithRequest:success:failure:)我发现有人写过失败有三个论点(但实际上是四个,第四个总是零)。在这种情况下,有没有简单的方法可以将响应作为字符串?
如果responseString
是nil
,那么您可能没有从服务器接收到任何数据,或者数据无法用于创建有效的NSString
对象。
根据对应于NSJSONSerialization
错误的Cocoa error 3840
的声音,我猜测服务器确实在发回一个空响应。