ASIFormDataRequest的POST操作架构设计,方法由自己定义。
-
- //开启iphone网络开关
- [UIApplication sharedApplication].networkActivityIndicator
Visible = YES; - ASIFormDataRequest *request = [[ASIFormDataRequest alloc] initWithURL:[NSURLURLWithString:host]];
- //超时时间
- request.timeOutSeconds = 30;
- //定义异步方法
- [request setDelegate:self];
- [request setDidFailSelector:@selector(requestDidFailed:)];
- [request setDidFinishSelector:@selector(requestDidSuccess:)];
- //用户自定义数据
字典类型 (可选)
- request.userInfo = [NSDictionary dictionaryWithObject:method forKey:@"Method"];
- //post的数据
- [request appendPostData:[body dataUsingEncoding:NSUTF8StringEncoding]];
- //开始执行
- [request startAsynchronous];
- //执行成功
- - (void)requestDidSuccess:(ASIFormDataRequest *)request
- {
- //获取头文件
- NSDictionary *headers = [request responseHeaders];
- //获取http协议执行代码
- NSLog(@"Code:%d",[request responseStatusCode]);
- if ([delegaterespondsToSelect
or:@selector(OARequestSuccessed:withResponse:WithData:withHeaders:)])
- {
- //执行委托操作
(架构设计 自选) - [delegate OARequestSuccessed:method withResponse:[request responseString] WithData:[request responseData] withHeaders:headers];
- }
- //清空
- if (request)
- {
- [request release];
- }
- //关闭网络
- [UIApplication sharedApplication].networkActivityIndicator
Visible = NO; - }
- //执行失败
- - (void)requestDidFailed:(ASIFormDataRequest *)request{
- //获取的用户自定义内容
- NSString *method = [request.userInfo objectForKey:@"Method"];
- //获取错误数据
- NSError *error = [request error];
- if ([delegate respondsToSelector:@selector(OARequestFailed:withError:)])
- {
- //执行委托 将错误数据传其他方式(架构设计
自选) - [delegate OARequestFailed:method withError:error];
- }
- if (request)
- {
- [request release];
- }
- [UIApplication sharedApplication].networkActivityIndicator
Visible = NO; - }
- //执行成功函数
- - (void)OARequestSuccessed:(NSString *)method withResponse:(NSString *)response WithData:(NSData *)data withHeaders:(NSDictionary *)headers
- {
- NSString *responseStr = [[[NSString alloc] initWithData:dataencoding:NSUTF8StringEncoding] autorelease];
- //服务返回post后的数据
- NSLog(@"response:\n%@",responseStr);
- }
- //执行失败函数
- - (void)OARequestFailed:(NSString *)method withError:(NSError *)error
- {ASIFormDataRequest的POST操作架构设计,方法由自己定义。
- //开启iphone网络开关
- [UIApplication sharedApplication].networkActivityIndicator
Visible = YES; - ASIFormDataRequest *request = [[ASIFormDataRequest alloc] initWithURL:[NSURLURLWithString:host]];
- //超时时间
- request.timeOutSeconds = 30;
- //定义异步方法
- [request setDelegate:self];
- [request setDidFailSelector:@selector(requestDidFailed:)];
- [request setDidFinishSelector:@selector(requestDidSuccess:)];
- //用户自定义数据
字典类型 (可选)
- request.userInfo = [NSDictionary dictionaryWithObject:method forKey:@"Method"];
- //post的数据
- [request appendPostData:[body dataUsingEncoding:NSUTF8StringEncoding]];
- //开始执行
- [request startAsynchronous];
- //执行成功
- - (void)requestDidSuccess:(ASIFormDataRequest *)request
- {
- //获取头文件
- NSDictionary *headers = [request responseHeaders];
- //获取http协议执行代码
- NSLog(@"Code:%d",[request responseStatusCode]);
- if ([delegaterespondsToSelect
or:@selector(OARequestSuccessed:withResponse:WithData:withHeaders:)])
- {
- //执行委托操作
(架构设计 自选) - [delegate OARequestSuccessed:method withResponse:[request responseString] WithData:[request responseData] withHeaders:headers];
- }
- //清空
- if (request)
- {
- [request release];
- }
- //关闭网络
- [UIApplication sharedApplication].networkActivityIndicator
Visible = NO; - }
- //执行失败
- - (void)requestDidFailed:(ASIFormDataRequest *)request{
- //获取的用户自定义内容
- NSString *method = [request.userInfo objectForKey:@"Method"];
- //获取错误数据
- NSError *error = [request error];
- if ([delegate respondsToSelector:@selector(OARequestFailed:withError:)])
- {
- //执行委托 将错误数据传其他方式(架构设计
自选) - [delegate OARequestFailed:method withError:error];
- }
- if (request)
- {
- [request release];
- }
- [UIApplication sharedApplication].networkActivityIndicator
Visible = NO; - }
- //执行成功函数
- - (void)OARequestSuccessed:(NSString *)method withResponse:(NSString *)response WithData:(NSData *)data withHeaders:(NSDictionary *)headers
- {
- NSString *responseStr = [[[NSString alloc] initWithData:dataencoding:NSUTF8StringEncoding] autorelease];
- //服务返回post后的数据
- NSLog(@"response:\n%@",responseStr);
- }
- //执行失败函数
- - (void)OARequestFailed:(NSString *)method withError:(NSError *)error
- {
- NSLog(@"Error:%@",error);
- UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"出错了" message:@"网络连接失败, 请稍后重试." delegate:nil cancelButtonTitle:@"好的" otherButtonTitles:nil];
- [alert show];
- [alert release];
- }
- NSLog(@"Error:%@",error);
- UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"出错了" message:@"网络连接失败, 请稍后重试." delegate:nil cancelButtonTitle:@"好的" otherButtonTitles:nil];
- [alert show];
- [alert release];
- }