ASIHTTPRequest Отключение кэша - PullRequest
0 голосов
/ 07 октября 2011

У меня есть приложение, которое подключается к онлайн-сайту, используя форму POST, отправляемую из ASIHTTPRequest & ASIFormDataRequest.

У меня есть окно входа в систему .xib, где пользователь вводит свои данные. Затем, когда они нажимают кнопку ОК, он подключается к сайту с указанными пользователем данными. Отправляет форму OK и т. Д.

Но есть проблема. Сначала я ввожу неверные данные, он подключается и сообщает мне ответ. Я могу сказать из HTML, что детали неверны. Теперь я ввожу правильные данные, и ASI * даже не удосуживается подключиться. Когда я сначала вводю правильные данные, он сообщает мне другой HTML-код, который должен отображаться всякий раз, когда я вхожу в нужный журнал в деталях. Так что проблема в кеше, потому что он не мешает подключиться снова при втором запросе, верно?

Я использую Little Snitch.app, поэтому знаю, когда он подключается, а когда нет.

Теперь звучит вопрос: «Как отключить кэш в ASIRequests?»

Большое спасибо.

Фрагмент класса: http://pastebin.com/a83YCpnm

Ответы [ 2 ]

1 голос
/ 07 октября 2011

ASIHTTPRequest по умолчанию не кэширует POST-ответы - см. Следующий код в ASIHTTPRequest.m

if (![[self requestMethod] isEqualToString:@"GET"]) {
    [self setDownloadCache:nil];
}

Очевидно, что происходит что-то еще - вы уверены, что вы делаете POST-запрос?Как вы включаете кэширование / создание запроса, можете ли вы опубликовать код, пожалуйста?

0 голосов
/ 07 октября 2011

Хорошо, я выяснил, в чем проблема. Я не перераспределял ASIFormDataRequest & ASIHTTPRequest при каждом запросе, что вызывало проблемы с другими запросами, поскольку он использовался повторно.

Поэтому запрос был помечен как завершенный, и поэтому он даже не удосужился сделать еще один запрос, если это имеет смысл.

Спасибо

...