我正在创建一个消耗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上获得了相同的行为,而不仅仅是模拟器。
有谁知道什么可能导致这种行为?我忘记了一些明显的事情吗?
我现在已经看了好几个小时,非常感谢任何帮助!
答案 0 :(得分:1)
我已将请求方法更改为'GET',现在我得到了预期的结果!当在浏览器中检查url时,会使用get请求,当发布它时,我得到一个不同的响应,这恰好与我在dev服务器上获得的响应完全相同。问题解决后,只需对后端进行一些调整即可发布帖子请求!