question_id = 28, value = 'yes', null
现在
函数会得到
{
question_id = 22,
value = 'yes',
array = (9=>1, 28 => 0)
}
9 是 id 1 表示是,0 表示否。该数组存储所有以前的问题和答案,如果没有问题,则显示结果。我如何使用两个操作按钮是和否来实现/发布/这个?
question_id = 28, value = 'yes', null
现在
函数会得到
{
question_id = 22,
value = 'yes',
array = (9=>1, 28 => 0)
}
9 是 id 1 表示是,0 表示否。该数组存储所有以前的问题和答案,如果没有问题,则显示结果。我如何使用两个操作按钮是和否来实现/发布/这个?
您可以使用以下代码片段,如本文所述:
在这里,我简单描述一下如何使用 POST 方法。
1.使用实际用户名和密码设置帖子字符串。
NSString *post = [NSString stringWithFormat:@"&Username=%@&Password=%@",@"username",@"password"];
2.
NSASCIIStringEncoding
使用以及您需要以 NSData 格式发送的帖子字符串对帖子字符串进行编码。NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
您需要发送数据的实际长度。计算帖子字符串的长度。
NSString *postLength = [NSString stringWithFormat:@"%d",[postData length]];
3.创建一个包含所有属性的 Urlrequest,如
HTTP
方法、http 标头字段以及 post 字符串的长度。创建URLRequest
对象并初始化它。NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];
设置要向该请求发送数据的 URL。
[request setURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://www.abcde.com/xyz/login.aspx"]]];
现在,设置HTTP方法(POST 或 GET)。像在您的代码中一样编写此行。
[request setHTTPMethod:@"POST"];
HTTP
使用发布数据的长度设置标题字段。[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
还要设置 HTTP 标头字段的编码值。
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Current-Type"];
使用 postData设置
HTTPBody
urlrequest 的。[request setHTTPBody:postData];
4.现在,创建 URLConnection 对象。使用 URLRequest 对其进行初始化。
NSURLConnection *conn = [[NSURLConnection alloc]initWithRequest:request delegate:self];
它返回初始化的 url 连接并开始为 url 请求加载数据。您可以使用下面的if/else语句检查您
URL
的连接是否正确完成。if(conn) { NSLog(@”Connection Successful”) } else { NSLog(@”Connection could not be made”); }
5.要接收来自 HTTP 请求的数据,您可以使用 URLConnection 类参考提供的委托方法。委托方法如下。
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData*)data
上述方法用于接收我们使用 post 方法获取的数据。
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
此方法,您可以在未与服务器建立连接的情况下接收错误报告。
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
上述方法用于连接成功后的数据处理。
编辑:
-(void) buttonPressed:(id) sender
{
NSURL *url = [NSURL URLWithString:@"URL"];
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
[request setShouldStreamPostDataFromDisk:YES];
[request setDidFinishSelector:@selector(uploadFinished:)];
[request setDidFailSelector:@selector(uploadFail:)];
[request setTimeOutSeconds:300];
[request setPostValue:@"Login" forKey:@"action"];
[request setPostValue:Yourvalue1 forKey:@"key1"];
[request setPostValue:Yourvalue2 forKey:@"key2"];
.
.
.
request.delegate = self;
[self.sendLoader startAnimating];
[request startAsynchronous];
}
#pragma Mark -
#pragma Mark - ASIHTTPRequest Methods
- (void) uploadFinished:(ASIHTTPRequest *)request
{
NSString *str = [request responseString];// convert it as JSON also.
}
- (void) uploadFail:(ASIHTTPRequest *)request
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Error",@"") message:NSLocalizedString(@"Connection failed !!",@"") delegate:nil cancelButtonTitle:NSLocalizedString(@"OK",@"") otherButtonTitles:nil];
[alert show];
}