0
点赞
收藏
分享

微信扫一扫

ASIFormDataRequest POST操作…

yellowone 2023-04-02 阅读 195


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
 {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];
}
 NSLog(@"Error:%@",error);

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"出错了" message:@"网络连接失败, 请稍后重试." delegate:nil cancelButtonTitle:@"好的" otherButtonTitles:nil];
[alert show];
[alert release];
}


复制代码


举报

相关推荐

0 条评论