2011-10-07 111 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寿。 –