当服务器无法发送有效的responseString响应时,我很难获得JSON。php回显了一些临时变量,或者出了问题)。我使用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:)时,我发现有一段文字表明,失败会得到三个参数(但实际上是四个,第四个总是为空)。在这种情况下,有没有什么简单的方法来获取字符串形式的响应呢?
发布于 2013-08-09 03:08:50
如果responseString为nil,那么您要么没有从服务器接收到任何数据,要么数据不能用于创建有效的NSString对象。
根据您的Cocoa error 3840 (对应于NSJSONSerialization错误)的声音,我猜测服务器确实发回了一个空响应。
https://stackoverflow.com/questions/18024627
复制相似问题