如何在取消按钮的 Web 服务中发布 uitextfield 数据
Posted
技术标签:
【中文标题】如何在取消按钮的 Web 服务中发布 uitextfield 数据【英文标题】:how to post uitextfield data in web service on unbutton 【发布时间】:2015-10-27 09:29:28 【问题描述】:我有公司注册的登录屏幕,我想在单击按钮时将所有 uitextfield 数据发布到 Web 服务上。
这是我点击按钮的代码
- (IBAction)Register:(id)sender
if (_CompanyName.text.length <=0)
NSLog(@"enter company name");
UIAlertView *message = [[UIAlertView alloc] initWithTitle:@"Enter Company Name"
message:nil
delegate:self
cancelButtonTitle:@"Cancel"
otherButtonTitles:@"Continue", nil];
[message setAlertViewStyle:UIAlertViewStyleDefault];
[message show];
我是这类活动的初学者,所以如果有人有知识,请帮忙,谢谢。
【问题讨论】:
你能展示你尝试过的代码吗 为您的文本字段获取字符串并将字符串作为参数传递。 @Anbu.Karthik 感谢您的回复,我发布了按钮单击的代码,现在请给我一些关于在此按钮上发布网络服务数据的建议。 参考这个link 感谢大家的宝贵回复,是否可以给我部分用于发布数据的json解析代码。 【参考方案1】:下面是非常简单的将数据发布到服务器编码
- (IBAction)actionRegister:(id)sender
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:strYourURL]];
[request setHTTPMethod:@"POST"];
//Check The Value what we entered in textField
NSLog(@"the company name is:%@",txtFieldCompanyName.text);
NSLog(@"the email is:%@",txtFieldEmail.text);
NSLog(@"the password is:%@",txtFieldPassword.text);
NSLog(@"the password again is:%@",txtFieldPasswordAgain.text);
//Pass The String to server
NSString *strParameters =[NSString stringWithFormat:@"comapny_name=%@&email=%@&password=%@&password_again=%@",txtFieldCompanyName.text,txtFieldEmail.text,txtFieldPassword.text,txtFieldPasswordAgain.text,nil];
//Check The Value what we passed
NSLog(@"the data Details is =%@", strParameters);
//Convert the String to Data
NSData *data1 = [strParameters dataUsingEncoding:NSUTF8StringEncoding];
//Apply the data to the body
[request setHTTPBody:data1];
//Create the response and Error
NSError *err;
NSURLResponse *response;
NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&err];
NSString *resSrt = [[NSString alloc]initWithData:responseData encoding:NSASCIIStringEncoding];
//This is for Response
NSLog(@"got response==%@", resSrt);
if(resSrt)
NSLog(@"got response");
else
NSLog(@"faield to connect");
【讨论】:
谢谢,这是我的网址 "[NSURL URLWithString:@"dev1.brainpulse.org/quickmanhelp/webservice/…;" 这是我的格式字符串 "NSString *strParameters =[NSString stringWithFormat:@"email_id=%@&company_name=%@&password=%@",_Email.text,_CompanyName.text,_Password.text,无];" 所以这个数据还没有发布到我的网络服务上。但是代码没问题,没有错误。 你得到什么输出?【参考方案2】:使用AFNetworking
类这里有一个链接
https://github.com/AFNetworking/AFNetworking
http://www.raywenderlich.com/59255/afnetworking-2-0-tutorial
您将从本教程中获得一些平静的代码,例如
- (IBAction)registerButtonTapped:(id)sender
// 1
NSString *string = [NSString stringWithFormat:@"www.yourwebapiurl.php?format=json&username=%@", userNameTextField.text];//and so on
NSURL *url = [NSURL URLWithString:string];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
// 2
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
operation.responseSerializer = [AFJSONResponseSerializer serializer];
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject)
// 3
NSDictionary *responseDict = (NSDictionary *)responseObject;
NSLog(@"You have got the response ");
failure:^(AFHTTPRequestOperation *operation, NSError *error)
// 4
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Error Retrieving Weather"
message:[error localizedDescription]
delegate:nil
cancelButtonTitle:@"Ok"
otherButtonTitles:nil];
[alertView show];
];
// 5
[operation start];
会有帮助的。谢谢
【讨论】:
以上是关于如何在取消按钮的 Web 服务中发布 uitextfield 数据的主要内容,如果未能解决你的问题,请参考以下文章
从 UIText 字段的用户输入更改 UIView 框架的高度和宽度
为啥出现打开 iTunes App Store url 时 web 视图中的取消按钮不起作用。 (为了理解)