Im новый для использования AFNetworking. Мне удалось сделать запрос GET с некоторой помощью от хорошего парня в переполнении стека.AFNetworking отправка NSMutableDictionary как POST
Теперь я застрял в создании запроса POST. Я пробую этот код, но я всегда оказываюсь в неудавшемся блоке. Как так?
-(void) postEventInfo: (NSMutableDictionary *) eventInfoObject{
NSURL *url = [NSURL URLWithString:string];
AFHTTPSessionManager *manager = [[AFHTTPSessionManager alloc] initWithBaseURL:url];
manager.requestSerializer = [AFJSONRequestSerializer serializer];
manager.responseSerializer = [AFJSONResponseSerializer serializer];
[manager POST:string parameters:eventInfoObject success:^(NSURLSessionDataTask *task, id responseObject) {
NSLog(@"JSON: %@", responseObject);
//here is place for code executed in success case
} failure:^(NSURLSessionDataTask *task, NSError *error) {
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Error while sending POST"
message:@"Sorry, try again."
delegate:nil
cancelButtonTitle:@"Ok"
otherButtonTitles:nil];
[alertView show];
NSLog(@"Error: %@", [error localizedDescription]);
}];
}
я получаю следующее сообщение об ошибке:
Error: Request failed: internal server error (500)
Thnx ..
EDIT1
ИТАК после тестирования немного больше я заметил, что связь на самом деле идет сквозной и inte делает то, что я хочу сделать, но он все еще показывает мне сообщение об ошибке, означающее, что все еще идет к отказу.
Я ДУМАЮ, что мой сервер отправляет обратно текст/html, может ли это быть чем-то связано с этим?
часть были NSURLConnection работали
edit2
NSError *error;
NSData *event = [NSJSONSerialization dataWithJSONObject:eventInfoObject
options:NSJSONWritingPrettyPrinted
error:&error];
if (! event) {
NSLog(@"Got an error: %@", error);
} else {
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setHTTPMethod:@"POST"];
[request setHTTPBody:event];
[request setValue:[NSString stringWithFormat:@"%lu", (unsigned long)[event length]] forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request setURL:[NSURL URLWithString:string]];
NSURLConnection *conn = [[NSURLConnection alloc]initWithRequest:request delegate:self];
[conn start];
}
Ваш сервер разбился. – Andy
Но почему. он отлично работает, когда я отправляю его с помощью Normal NSURLConnection @Andy –
Вы отправляете приложение/json правильно? – Andy