iOS NSURLConnection对象始终返回相同的响应

时间:2012-07-13 19:03:58

标签: iphone objective-c ios xcode nsurlconnection

我正在创建一个消耗json webservice的iPhone应用程序。我有一个NSURLRequest和NSURLConnection对象,用于从该Web服务加载JSON数据:


    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] 
                                    initWithURL:url 
                                    cachePolicy:NSURLRequestReloadIgnoringLocalCacheData
                                    timeoutInterval:30];
    [request setHTTPMethod: @"POST"];
    //[request setHTTPShouldHandleCookies:YES];

//create connection
NSURLConnection *connection = [[NSURLConnection alloc] 
                               initWithRequest:request delegate:self];
[connection start];

我第一次使用url" admin.mydomain.com/param1/value1/param2/value2"执行上述代码时,响应正确(JSON字符串:{&#34} ;错误的API密钥"})。

然后我将网址更改为我的登台服务器:" admin.stg.mydomain.com/param1/value1/param2/value2"。这个服务器为我提供了一些完全不同的输出(当我在浏览器中尝试新的url时,显示正确的输出,json对象与第一个url给我的完全不同),但是在我的iphone应用程序中我仍然得到了确切的结果。我从其他服务器获得的响应相同。如果我尝试不存在的网址,我会收到正确的错误消息。

它似乎已经从原始服务器缓存了结果,并为我的stg子域返回相同的值,以某种方式匹配两个URL(这可能吗?),但我已经清除了我能找到的所有缓存数据。我试图清理构建和构建目录,重新启动xcode,计算机和所有内容,缓存策略设置为忽略缓存(请参阅代码)。重要提示:我在实际的iPhone上获得了相同的行为,而不仅仅是模拟器。

有谁知道什么可能导致这种行为?我忘记了一些明显的事情吗?

我现在已经看了好几个小时,非常感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

我已将请求方法更改为'GET',现在我得到了预期的结果!当在浏览器中检查url时,会使用get请求,当发布它时,我得到一个不同的响应,这恰好与我在dev服务器上获得的响应完全相同。问题解决后,只需对后端进行一些调整即可发布帖子请求!