我正在访问服务器上的 PHP 脚本。 请求URL是这样的:
example.com/cgi-bin/getEvent.cgi?EID=19573
当我通过浏览器输入请求时,我得到了预期的结果。
但是,当我使用 ASIHTTP 表单请求时,我得到了结果 就像 EID 不是通过 HTTP 传递的一样。
NSString *eventID = @"19573";
NSString * const EVENT_URL = @"http://example.com/cgi-bin/getEvent.cgi";
-(void)callWebservice
{
NSURL *url = [NSURL URLWithString:EVENT_URL];
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
[request setPostValue:eventID forKey:@"EID"];
[request setNumberOfTimesToRetryOnTimeout:2];
[request setDelegate:self];
[request startAsynchronous];
}
有人知道查看所请求的完整 URL 的方法吗? 或者知道为什么这不起作用?
提前致谢。
最佳答案
我的猜测是,您的 PHP 脚本期望参数在查询字符串上发送(即作为 GET 请求)而不是作为 POST 参数。
如果是这种情况,您可以通过发送请求来解决此问题,如下所示:
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"%@?EID=%@",EVENT_URL,eventID]];
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
关于iphone - ASIHTTPRequest setPostValue iPhone,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9024360/