- (void)viewDidLoad
{
[super viewDidLoad];
//构造json
NSDictionary * params = [[NSDictionary alloc] initWithObjectsAndKeys:
device_id, @"device_id",
device, @"device",
license, @"license",
nil];
NSString *api = @"http://balabalabala";
ASIFormDataRequest * request = [[self getASIHTTPFormDataRequestWithURL:api params:params] retain];
[params release];
[request setCompletionBlock:^{
NSString * responseString = request.responseString;
NSDictionary * responseDict = [responseString objectFromJSONString];
NSLog(@"response: %@", responseDict);
if ([responseDict isKindOfClass:[NSDictionary class]])
{
if ([[responseDict objectForKey:@"status"] integerValue] == 1)
{
//成功
NSLog(@"send succuess");
}
else
{
NSLog(@"send failed");
}
}
else
{
NSLog(@"send failed, and erro,1111111111");
}
[request release];
}];
//异步方法
[request setFailedBlock:^{
dispatch_async(dispatch_get_main_queue(), ^{
//出错提示
NSLog(@"send failed, and erro,2222222222");
});
[request release];
}];
[request startAsynchronous];
}
//封装post请求数据
+ (ASIFormDataRequest *)getASIHTTPFormDataRequestWithURL:(NSString *)urlString
params:(NSDictionary *)params
{
ASIFormDataRequest * request = nil;
NSURL * url = [[NSURL alloc] initWithString:urlString];
request = [[ASIFormDataRequest alloc] initWithURL:url];
[url release];
for (NSString * key in params)
{
id value = [params objectForKey:key];
if ([value isKindOfClass:[NSString class]]
|| [value isKindOfClass:[NSNumber class]])
{
[request addPostValue:value forKey:key];
}
else if ([value isKindOfClass:[NSData class]])
{
[request addData:value forKey:key];
}
else if ([value isKindOfClass:[UIImage class]])
{
NSData * imageData = UIImagePNGRepresentation(value);
[request addData:imageData forKey:key];
}
}
[request setTimeOutSeconds:60.f];
return [request autorelease];
}
使用ASIHTTPRequest异步提交数据
最新推荐文章于 2021-08-03 11:25:41 发布