2011-10-07 145 views
0

我有一個應用程序,它使用POST形式從ASIHTTPRequest & ASIFormDataRequest發送到在線網站。ASIHTTPRequest禁用緩存

我有一個登錄框,一個.xib用戶輸入他們的詳細信息。然後,當他們點擊確定時,它會通過用戶輸入的詳細信息連接到該網站。它發送表格OK等

但有一個問題。我先輸入不正確的細節,它連接並告訴我響應的html。我可以從HTML中知道細節是不正確的。現在我輸入正確的細節,並且ASI *甚至不打擾連接。 當我首先輸入正確的細節時,它告訴我一個不同的html,當我輸入正確的日誌詳細信息時,它應該顯示。 所以問題是在緩存中,因爲它不會再次連接第二個請求,對不對?

我正在使用Little Snitch.app,所以我知道它何時連接,何時不連接。

現在,問題聽起來如下:「我如何在ASIRequests中禁用Cache?」

非常感謝。

片段類:http://pastebin.com/a83YCpnm

回答

0

好吧我發現了什麼麻煩。我沒有在每個請求上重新分配ASIFormDataRequest & ASIHTTPRequest,這導致了其他請求上的麻煩,因爲它正在被重用。

因此,該請求已被標記爲完整,因此如果有意義的話,它甚至不會打擾另一個請求。

謝謝

1

ASIHTTPRequest默認情況下不緩存POST響應 - 見ASIHTTPRequest.m下面的代碼

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

有明確別的事情上 - 你確定這是一個POST請求你正在做?你如何啓用緩存/創建請求,你可以張貼一些代碼嗎?

+0

http://pastebin.com/a83YCpnm <這裏是類的一個片段。我還沒有配置任何緩存。我試圖將cachePolicy設置爲零,並且可以使用其他屬性,但不起作用。我會嘗試setDownloadCache壽。 –