我的Obj-c代码中有一个简单的表单请求,它从我的服务器调用一个PHP代码。
ASIFormDataRequest *req = [[ASIHTTPRequest alloc] initWithURL:url];
[req setPostValue:[NSString stringWithFormat:@"%f",slat] forKey:@"mylat"];
[req setPostValue:[NSString stringWithFormat:@"%f",slng] forKey:@"mylng"];
[req start];
NSLog(@"response -",[req responseString]);
[req release];我在NSLog中没有得到响应,但是它在stringWithContentsOfURL中运行得很好,我可以在浏览器中看到输出。甚至我也把ASIFormDataRequest改成了ASIHTTPRequest并添加了用户代理,但是没有结果。我在不同版本的SDK( 3.0,3.1.2,4.0,4.1 )中检查了它。但没有回应
我确信服务器的响应是好的,
更令人遗憾的是,同样的ASI代码在我的办公室网络(AIRTEL Broadband)上运行良好,而在我拥有BSNL宽带的家中运行良好,希望这不是服务提供商的问题。
有没有人发现这样的问题..。
发布于 2010-10-27 19:56:09
而不是:
[req start]尝试:
[req startSynchronous]通常,对一个-start对象手动调用NSOperation是很好的,但是在这种情况下,ASIHTTPRequest显式地提供了一个-startSynchronous方法,所以可能有一个很好的理由使用它。
发布于 2010-10-27 19:56:01
试着..。
ASIFormDataRequest *req = [[ASIHTTPRequest alloc] initWithURL:url];
[req setPostValue:[NSString stringWithFormat:@"%f",slat] forKey:@"mylat"];
[req setPostValue:[NSString stringWithFormat:@"%f",slng] forKey:@"mylng"];
[req startSynchronous];
NSError *error = [req error];
if (!error) {
NSLog(@"response -",[req responseString]);
}
[req release];发布于 2010-11-01 11:38:20
最后,我得到了答案--代理是问题所在,如果您发现了同样的问题,只需检查您的网络设置中的代理程序,我就会知道abt windows,am on MAC,所以它的jus是用来实现的,并且是我使用的代码(用于安全目的)。
ASIFormDataRequest *req = [[ASIFormDataRequest alloc] initWithURL:url];
[req setDelegate:self];
[req startAsynchronous];
NSError *error = [req error];
if (!error) {
NSLog(@"response -",[req responseString]);
}
[req release];
[url release];
- (void)requestFinished:(ASIHTTPRequest *)request
{
// Use when fetching text data
NSString *responseString = [request responseString];
NSLog(@"response %d-%@",[responseString length],responseString);
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO];
}
- (void)requestFailed:(ASIHTTPRequest *)request
{
NSError *error = [request error];
NSLog(@"error - %@\n",error);
}https://stackoverflow.com/questions/4036908
复制相似问题