2013-08-13 1 views
-1

Когда я отправляю запрос async с использованием метода sendAsynchronousRequest, он возвращает нулевой ответ в сценарии ошибок, например «недопустимое имя пользователя». В API я отправляю ответ в сценарии ошибок с соответствующими значениями JSON.NSURLConnection sendAsynchronousRequest возвращает нулевой ответ в сценарии ошибок

Он получает JSON, но ответ URL-адреса равен нулю.

Он отлично работает, когда я делаю это в соединенииWithRequest: метод с надлежащими методами делегата.

Любая помощь будет высоко оценена.

Спасибо!

[NSURLConnection sendAsynchronousRequest:request 
            queue:[[NSOperationQueue alloc] init] 
         completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) { 
              NSLog(@"%@", (NSHTTPURLResponse *)response); 
             }]; 
+0

Вы распечатали код статуса ответа? – NHS

+1

напечатайте оба идентификатора ответа как response.statuscode и print [ошибка localizedDescription] – NHS

+0

@NHS - Код состояния ответа равен 0, а описание ошибки «Операция не может быть выполнена. (NSURLErrorDomain error -1012.)» – Jayaprakash

ответ

0

Что вы видите, это ожидаемое поведение.

Прямо из документации указанного способа:

Если запрос не удается, параметр данных является nil и параметр ошибки содержат сведения об ошибке.

+0

Я упомянул «сценарий ошибок» в том смысле, что «недопустимое имя пользователя» не похоже на «запрос сбой из-за ошибки сервера или офлайн и т. Д.». Я получил данные (содержащие информацию (JSON) об ошибках типа «errormessage») и NSError. Поэтому я подумал, что запрос получил успех, но ответ URL-адреса печатается как «null». – Jayaprakash