У меня есть код в ASIHTTP, но я хочу перейти на AFNetworking. я использовал ASIFormDataRequest для некоторых запросов POST и этот код работает отлично:ASIFormDataRequest в AFNetworking?
NSURL *url = [NSURL URLWithString:@"http://someapiurl"];
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
[request setPostValue:@"123" forKey:@"phone_number"];
[request startSynchronous];
NSError *error = [request error];
if (!error) {
NSLog(@"Response: %@", [[request responseString] objectFromJSONString]);
}
, но, когда я попытался сделать то же самое с AFNetworking, я в задаче с содержанием типа (я думаю).
Это AFNetworking код, и он не работает:
NSURL *url = [NSURL URLWithString:@"http://dev.url"];
AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL:url];
NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys:
@"123", @"phone_number",
nil];
NSMutableURLRequest *request = [httpClient requestWithMethod:@"POST" path:@"/api/get_archive" parameters:params];
[request setValue:@"application/x-www-form-urlencoded; charset=UTF8" forHTTPHeaderField:@"Content-Type"];
AFHTTPRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest
*request, NSHTTPURLResponse *response, id JSON) {
NSLog(@"Response: %@", JSON);
} failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, id JSON){
NSLog(@"Error: %@", error);
}];
[operation start];
URL нормально, это проверяется. Я получаю от сервера это:
{NSErrorFailingURLKey=http://dev.thisapiurl, NSLocalizedDescription=Expected content type {(
"text/json",
"application/json",
"text/javascript"
)}, got text/html}
Yap, вот что мне нужно. Благодаря! – dormitkon
Что значит «ожидает JSON-дружественный тип ответа»? Мои веб-службы возвращают ответ JSON. Можете ли вы взглянуть на [этот вопрос] (http://stackoverflow.com/questions/14393131/afjsonrequestoperation-returns-null-response-in-ios) – iOSAppDev
@jagill Что вы подразумеваете под «ожидает, что JSON-дружественный тип ответа "? Проверяет ли он Content-Type = application/json? – iOSAppDev