首页 > 代码库 > iOS.访问 Web Service.异步POST请求方法
iOS.访问 Web Service.异步POST请求方法
#import <UIKit/UIKit.h>#import "T20140628024917NSNumber+Message.h"#import "T20140628024917NSString+URLEncoding.h"@interface T20140628024917ViewController : UITableViewController<NSURLConnectionDelegate>@property (nonatomic,strong) NSMutableArray *listData;//接收从服务器返回数据。@property (strong,nonatomic) NSMutableData *datas;// 查询所有-(void)findAll;@end
#import "T20140628024917ViewController.h"@interface T20140628024917ViewController ()@end@implementation T20140628024917ViewController- (void)viewDidLoad{ [super viewDidLoad]; // 1、初始化数据 [self findAll];}- (void)didReceiveMemoryWarning{ [super didReceiveMemoryWarning];}#pragma mark table dataSource- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ return self.listData.count;}- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ // 1、初始化重用Cell static NSString *reUseCell = @"reUseCell"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:reUseCell]; if (cell == nil) { cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:reUseCell]; } // 2、配置重用Cell数据 NSMutableDictionary* dict = self.listData[indexPath.row]; cell.textLabel.text = [dict objectForKey:@"Content"]; cell.detailTextLabel.text = [dict objectForKey:@"CDate"]; return cell;}-(void)findAll{ NSString *strURL = [[NSString alloc] initWithFormat:@"http://127.0.0.1:8080/kujizu/test01.html"]; NSURL *url = [NSURL URLWithString:[strURL URLEncodedString]]; NSString *post = [NSString stringWithFormat:@"email=%@&type=%@&action=%@", @"<你的iosbook1.com用户邮箱>",@"JSON",@"query"]; NSData *postData =http://www.mamicode.com/ [post dataUsingEncoding:NSUTF8StringEncoding]; NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; [request setHTTPMethod:@"POST"]; [request setHTTPBody:postData]; NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self]; if (connection) { _datas = [NSMutableData new]; }}#pragma mark- NSURLConnection 回调方法- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data { [_datas appendData:data];}-(void) connection:(NSURLConnection *)connection didFailWithError: (NSError *)error { NSLog(@"%@",[error localizedDescription]);}- (void) connectionDidFinishLoading: (NSURLConnection*) connection { NSLog(@"请求完成..."); NSDictionary* resDict = [NSJSONSerialization JSONObjectWithData:_datas options:NSJSONReadingAllowFragments error:nil]; if (resDict == nil) { self.listData = [[NSMutableArray alloc] init]; UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"错误信息" message:@"没有数据。" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil]; [alertView show]; }else{ NSNumber *resultCodeObj = [resDict objectForKey:@"ResultCode"]; if ([resultCodeObj integerValue] >=0){ self.listData = [resDict objectForKey:@"Record"]; [self.tableView reloadData]; } else { NSString *errorStr = [resultCodeObj errorMessage]; UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"错误信息" message:errorStr delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil]; [alertView show]; } } }@end
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。