ASIHTTPRequest setPostValue iPhone
Posted
技术标签:
【中文标题】ASIHTTPRequest setPostValue iPhone【英文标题】: 【发布时间】:2012-01-26 19:54:22 【问题描述】:我正在访问服务器上的 php 脚本。 请求网址是这样的:
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 的方法吗? 或者有任何线索为什么这不起作用?
提前致谢。
【问题讨论】:
【参考方案1】:我的猜测是您的 PHP 脚本期望参数在查询字符串中发送(即作为 GET 请求)而不是作为 POST 参数。
如果是这种情况,您可以通过如下方式发送您的请求来修复它:
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"%@?EID=%@",EVENT_URL,eventID]];
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
【讨论】:
以上是关于ASIHTTPRequest setPostValue iPhone的主要内容,如果未能解决你的问题,请参考以下文章