Я использую AFNetworking 2.0 для чтения JSON из службы, которую я создаю (теперь localhost
) в Node. Довольно нормальный материал.
Node отправляет JSON так:
res.setHeader('Content-Type','application/json');
res.end( JSON.stringify(...));
Мой код первого прохода iOS пытается прочитать такие данные:
typedef void(^NextBlock)();
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.responseSerializer = [AFJSONResponseSerializer serializer];
[manager GET:self.newestTimestampURL.absoluteString
parameters:nil
success:^(AFHTTPRequestOperation *operation, id responseObject)
{
//NSDictionary *response =
NSLog(@"got %@", responseObject );
}
failure:^(AFHTTPRequestOperation *operation, NSError *error)
{
NSLog(@"fail %@", error );
}];
Это ошибка, которую я получаю:
Error Domain=AFNetworkingErrorDomain Code=-1016 "Request failed: unacceptable content-type: text/plain" UserInfo=0xb783e30 {NSErrorFailingURLKey=http://localhost:3000/api/v1/log/newest, AFNetworkingOperationFailingURLResponseErrorKey=<NSHTTPURLResponse: 0xb656a70> { URL: http://localhost:3000/api/v1/log/newest } { status code: 200, headers {
Connection = "keep-alive";
ContentType = "application/json";
Date = "Fri, 27 Dec 2013 20:58:50 GMT";
"Transfer-Encoding" = Identity;
} }, NSLocalizedDescription=Request failed: unacceptable content-type: text/plain}
Я могу закрутить (-i) url http://localhost:3000/api/v1/log/newest
и получить ожидаемые данные, и это приложение /json, как ожидалось. Если я загружу эти данные в своем веб-браузере, я получаю JSON, как ожидалось, для каждого инспектора инструментов.
Но используя AFNetworking, я получаю эту загадочную "неприемлемую версию content-type: text/plain". Любая идея?
ПРИМЕЧАНИЕ. Я никогда раньше не использовал AFNetworking, поэтому я, вероятно, неправильно его использую.