У меня возникли проблемы с использованием AFNetworking для POST с x-www-form-urlencoded. Мой код выглядит следующим образом:Проблема с использованием AFNetworking для x-www-form-urlencoded POST
NSString *uniqueIdentifier = @"Bob's iPhone";
NSString *code = self.textField.text;
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.requestSerializer=[AFHTTPRequestSerializer serializer];
NSDictionary *parameters = [[NSDictionary alloc] initWithObjectsAndKeys:@"1", @"rw_app_id",code,@"code",uniqueIdentifier,@"device_id", nil];
[manager POST:@"http://www.somesite.co/promos/" parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"JSON: %@", responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@",error);
}];
я получаю сообщение об ошибке: Error Domain = com.alamofire.error.serialization.response Код = -1011 "Ошибка запроса: запрещено (403)" UserInfo = 0x7f8f8bf49550 { NSUnderlyingError = 0x7f8f8bf59910 «Не удалось выполнить запрос: неприемлемый тип содержимого: текст/html»
Я гугле вокруг, чтобы попытаться исправить это и изменил запрос сериалайзер с:
manager.requestSerializer=[AFHTTPRequestSerializer serializer];
Не повезло. У меня работает мой сервер для этих запросов, используя NSURLSession. Но я хочу, чтобы он работал в AFNetworking. Может ли кто-нибудь дать мне несколько указаний на то, что я могу делать неправильно, пожалуйста?
Я первый, и это работает, если мой сервер повторяет строку JSON. Однако, если это что-то еще, я получаю эту ошибку: Ошибка: Ошибка Домен = NSCocoaErrorDomain Code = 3840 «Операция не может быть выполнена. (Ошибка Cocoa 3840.)» (текст JSON не начинался с массива или объекта, и опция разрешить фрагменты не установлены.) Есть ли способ обойти это? – KexAri
это должно помочь: AFJSONResponseSerializer * responseSerializer = [AFJSONResponseSerializer serializerWithReadingOptions: NSJSONReadingAllowFragments]; [self setResponseSerializer: responseSerializer]; –
Получить эту ошибку сейчас: Ошибка: Ошибка домена = NSCocoaErrorDomain Code = 3840 «Операция не может быть выполнена (ошибка Cocoa 3840.)» (недопустимое значение вокруг символа 0.) UserInfo = 0x7fc161450340 {NSDebugDescription = Недопустимое значение вокруг символа 0 ., NSUnderlyingError = 0x7fc16165ea80 «Ошибка запроса: неудачный запрос (400)»} – KexAri