Запрос ASIHTTP не прошел в журнале, но requestFailed не вызывается - PullRequest
0 голосов
/ 12 августа 2010

У меня есть

-(void)requestFailed:(ASIHTTPRequest *)request
{
    NSError *error = [request error];
    NSLog(@"Request Failed Error: %@", error);
}

Когда я делаю запрос, я делаю

    //add data to the array
    NSString *json = [array JSONRepresentation];
[request appendPostData:[json dataUsingEncoding:NSUTF8StringEncoding]];

[request startAsynchronous];

Я получаю это в своем журнале:

 0-08-11 16:52:11.652 MyProject[11720:207] Starting asynchronous request <ASIHTTPRequest: 0x5a7df10>

2010-08-11 16: 52: 11.861 MyProject [11720: 207] Запрос на загрузку данных завершенв

 -(void)requestFailed

не вызывается.Есть идеи?

Приветствия

Ответы [ 2 ]

1 голос
/ 12 августа 2010

-requestFailed: возвращается только тогда, когда запрос не может быть выполнен, например. сбой соединения с сервером или сервер не соответствует протоколу http.

Если запрос может быть выполнен, будет вызван requestFinished, и вы сможете проверить там код состояния http, который может указывать на сбой. responseStatusText может дать больше информации о том, что произошла ошибка.

1 голос
/ 12 августа 2010

Вы установили свойства запроса delegate и didFailSelector? Обычно:

[request setDelegate:self];
[request setDidFailSelector:@selector(requestFailed:)];

достаточно, если метод -requestFailed: находится в том же файле реализации класса.

Также установите свойство didFinishSelector для вызова локального селектора, когда запрос завершится правильно.

...