【发布时间】:2013-11-19 07:51:41
【问题描述】:
您好,我是 iphone 开发新手,我目前正在处理一个项目,我有一个屏幕,用户应该在其中输入他们的详细信息,例如用户名和密码。我用谷歌搜索并找到了关于 GET/POST/DELETE 的 NSURLConnection。我可以通过以下代码获取数据,
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:[NSURL URLWithString:@"http://************/api/Users"]];
[request setHTTPMethod:@"GET"];
[request setValue:@"application/json;charset=UTF-8" forHTTPHeaderField:@"Content-
Type"];
NSURLResponse *response;
NSData *GETData = [NSURLConnection sendSynchronousRequest:request
returningResponse:&response error:nil];
NSString *ResultData = [[NSString alloc] initWithBytes:[GETData bytes] length:[GETData
length] encoding: NSASCIIStringEncoding];
NSLog(@"ResultData: %@", ResultData);
但是对于 POST 方法,我没有任何想法,它是如何工作的,以及它如何将记录存储到 sql server 数据库,无法理解它是否存储数据,我尝试了以下代码,
username = @"Aravind.k";
password = @"1234/";
email = @"sivaarwin@gmail.com";
NSString *post = [NSString stringWithFormat:@"FirstName=%@&LastName=%@&WorkEmailAddress=%@",
username, password, email];
NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding
allowLossyConversion:YES];
NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:[NSURL URLWithString:@"http://*********/api/Users"]];
[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/x-www-form-urlencoded;charset=UTF-8"
forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:postData];
NSLog(@"request: %@", request);
NSLog(@"postData: %@", postData);
NSURLResponse *response;
NSData *POSTReply = [NSURLConnection sendSynchronousRequest:request
returningResponse:&response
error:nil];
NSLog(@"POSTReply: %@", POSTReply);
NSString *theReply = [[NSString alloc] initWithBytes:[POSTReply bytes]
length:[POSTReply length]
encoding:NSASCIIStringEncoding];
NSLog(@"Reply: %@", theReply);
GET 和 POST 的 api url 相同,任何有关 POST 和 DELETE 的建议将不胜感激,在此先感谢。以及当输入的数据存储到服务器时我们如何得到通知。
【问题讨论】:
标签: ios nsurlconnection nsurlrequest