【发布时间】:2013-06-02 01:40:44
【问题描述】:
以下是我的 PHP 代码,它发送对 Web 服务请求的响应:
$query = "select name,email,password from User where email='".$email."' AND password='".$password."'";
$result = mysql_query($query);
$num_rows = mysql_num_rows($result);
if($num_rows==1)
{
sendResponse(200, json_encode("match"));
}
if($num_rows==0)
{
sendResponse(204, json_encode("not match"));
}
以下是我的 iOS 代码:
-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
NSString *status = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@" Returned Json data : %@",status);
if ([status isEqualToString:@"match"])
{
AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
[appDelegate OpenTabController];
}
//Boolean flag = [status isEqualToString:@"not match"];
//NSLog(@"flag : %d",flag);
if ([status isEqualToString:@"not match"])
{
NSLog(@"not match");
UIAlertView *alertView = [[UIAlertView alloc]
initWithTitle:@"Invalid email or password"
message:@""
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alertView show];
}
}
[status isEqualToString:@"not match"] 行不起作用。
【问题讨论】:
-
您是否将来自 Web 服务的 JSON 响应转换为主要升级到 iOS 代码?
-
是的,我这样做了。 NSString *status = [[NSString alloc] initWithData:数据编码:NSUTF8StringEncoding]; NSLog(@" 返回的 Json 数据:%@",status);
-
然后打印出您所期待的消息?
-
解释什么不起作用。
status是否真的包含“不匹配”? -
首先,您要将字符串转换为 json 响应。在您的 PHP 代码中,使用关联数组创建键值对,然后在 iOS 中使用 JSON 解析器将数据转换为 JSON 格式。在转换后的字典上使用 objectForKey 方法
标签: php ios web-services string-matching