自定义ASIFormDataRequest

ASIFormDataRequest的POST操作架构设计,方法由自己定义。

 

 

//开启iphone网络开关

[UIApplication sharedApplication].networkActivityIndicatorVisible = 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 ([delegaterespondsToSelector:@selector(OARequestSuccessed:withResponse:WithData:withHeaders:)])

{

//执行委托操作  (架构设计   自选)

[delegate OARequestSuccessed:method withResponse:[request responseString] WithData:[request responseData] withHeaders:headers];

 

}


//清空

if (request)

{

[request release];

}

 

//关闭网络

[UIApplication sharedApplication].networkActivityIndicatorVisible = 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].networkActivityIndicatorVisible = 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];

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值