ASI基本使用-异步请求

来源:互联网 发布:医院体检软件 编辑:程序博客网 时间:2024/06/05 10:40

1.使用代理的方式(不推荐)

@interface SNViewController () <ASIHTTPRequestDelegate>@property(nonatomic,strong) ASIHTTPRequest *request;@end@implementation SNViewController- (void)viewDidLoad{    [superviewDidLoad];    [selfasync];}-(void)async{    NSURL *url = [NSURLURLWithString:@"http://wycx.55115511.cn:7766/vms/sys_car!execute.action?usersId=20140001"];    self.request = [ASIHTTPRequestrequestWithURL:url];    self.request.timeOutSeconds = 5;    self.request.delegate =self;    [self.requeststartAsynchronous];}#pragma mark 代理方法- (void)requestStarted:(ASIHTTPRequest *)request{    NSLog(@"requestStarted");}- (void)requestFinished:(ASIHTTPRequest *)request{    NSLog(@"requestFinished");}- (void)requestFailed:(ASIHTTPRequest *)request{    NSLog(@"requestFailed");}- (void)request:(ASIHTTPRequest *)request didReceiveData:(NSData *)data{    NSLog(@"didReceiveData");}- (void)dealloc{    [superdealloc];    [self.requestclearDelegatesAndCancel];}


2.使用block的方式(推荐)

-(void)async{    NSURL *url = [NSURLURLWithString:@"http://wycx.55115511.cn:7766/vms/sys_car!execute.action?usersId=20140001"];    self.request = [ASIHTTPRequestrequestWithURL:url];    self.request.timeOutSeconds = 5;        [self.requestsetStartedBlock:^{       NSLog(@"start");    }];        [self.requestsetDataReceivedBlock:^(NSData *data) {       NSLog(@"receiced");    }];        [self.requestsetCompletionBlock:^{        NSLog(@"completion");    }];        [self.requeststartAsynchronous];}

3.POST方式

#import "SNViewController.h"#import "ASIFormDataRequest.h"@interface SNViewController ()@property(nonatomic, strong) ASIFormDataRequest *request;@end@implementation SNViewController- (void)viewDidLoad{    [super viewDidLoad];    [self asyncPost];}-(void)asyncPost{    NSURL *url = [NSURL URLWithString:@"http://wycx.55115511.cn:7766/vms/sys_car!execute.action"];    self.request = [ASIFormDataRequest requestWithURL:url];        [self.request setPostValue:@"20140001" forKey:@"usersId"];    [self.request setCompletionBlock:^{        NSLog(@"请求完毕");    }];    [self.request startAsynchronous];}- (void)dealloc{    [super dealloc];    [self.request clearDelegatesAndCancel];}@end




0 0