如何获取服务器响应以及在使用目标 c 通过 JSON 显示警报后服务器响应是不是为“成功”[关闭]
Posted
技术标签:
【中文标题】如何获取服务器响应以及在使用目标 c 通过 JSON 显示警报后服务器响应是不是为“成功”[关闭]【英文标题】:how to get server response and if server response is "Success" after show alert by JSON using objective c [closed]如何获取服务器响应以及在使用目标 c 通过 JSON 显示警报后服务器响应是否为“成功”[关闭] 【发布时间】:2013-08-16 05:28:04 【问题描述】:NSString *data = [NSString stringWithFormat:@"username=%@&password=%@",usertxt.text,pwdtxt.text,[NSNumber numberWithBool:YES]];
NSData *postData = [data dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];
//准备发送数据的URL请求。
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init] ;
connection=[[NSURLConnection alloc] initWithRequest:request delegate:self];
NSString *url = [NSString stringWithFormat:URL_PATH];
[request setURL:[NSURL URLWithString:url]];
[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Accept"];
[request setHTTPBody:postData];
[request setTimeoutInterval:7.0];
NSURLResponse *_response;
NSError *error;
NSData *urlData = [NSURLConnection sendSynchronousRequest:request returningResponse:&_response error:&error];
NSString *str=[[NSString alloc]initWithData:urlData encoding:NSUTF8StringEncoding];
//打印服务器响应
NSLog(@"Login response:%@",str);
//将JSON字符串解析成NSDictionary
NSDictionary* json = [NSJSONSerialization JSONObjectWithData:urlData
options:kNilOptions
error:&error];
【问题讨论】:
修复代码格式并解释问题。您不能只发布一堆没有任何解释的代码。这段代码有什么问题?您需要什么帮助? -1 这里似乎没有问题 【参考方案1】:试试这个 不需要使用 JSON 只需尝试此代码即可从服务器获取响应
NSString *string= [[NSString alloc]initWithFormat:@"url"];
NSLog(@"%@",string);
NSURL *url = [NSURL URLWithString:string];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
NSURLResponse *response;
NSError *err;
NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&err];
NSLog(@"responseData: %@", responseData);
NSString *str = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
NSLog(@"responseData: %@", str);
NSString *str1 = @"1";
if ([str isEqualToString:str1 ])
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"Successfully" message:@"" delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil];
[alert show];
else
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"Try Again" message:@"" delegate:self cancelButtonTitle:@"Try Later" otherButtonTitles:@"Call", nil];
alert.tag = 1;
[alert show];
如果您的响应字符串是success
,则将其替换为@"1"
【讨论】:
嗨,kapil,感谢您的帮助!我已经收到“登录响应 “respose”:“成功”。现在我想要显示警报后响应参数是否成功,否则显示错误警报...跨度> 已经??你解决你的问题与否... 好吧,代码为你工作只是把成功放在这个地方或@“1”这样的 NSString *str1 = @“success”; NSString *string = [NSString stringWithFormat:@"username=%@&password=%@",usertxt.text,pwdtxt.text,[NSNumber numberWithBool:YES]]; //我需要用参数包括我的输入字段文本框... this is what this is url NSString *string = [NSString stringWithFormat:@"url.php?username=%@&password=%@",usertxt.text,pwdtxt.text];对不需要把这一行 [NSNumber numberWithBool:YES] 只需添加我的代码,然后尝试以上是关于如何获取服务器响应以及在使用目标 c 通过 JSON 显示警报后服务器响应是不是为“成功”[关闭]的主要内容,如果未能解决你的问题,请参考以下文章