我的回复显示为空。但是当你在浏览器中输入url时它会显示1.但是在我的代码中它返回0。 网址为http://boomagift.ramansingla.com/forgotpassword.php?email=nihal@gmail.com。如果有人可以帮助我,我真的很感激。我是iOS的新手。
+(NSDictionary *)forgotpassword:(NSString *)email
{
NSDictionary *dict=[[NSDictionary alloc]init];
NSString *urlStr=[NSString stringWithFormat:@"http://boomagift.ramansingla.com/forgotpassword.php?email=%@",email];
NSLog(@"%@",urlStr);
NSMutableURLRequest *request=[[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:urlStr]];
dict = [self sendRequest:request];
NSLog(@"%@",dict);
return dict;
}
+(NSDictionary *)sendRequest:(NSMutableURLRequest *)request
{
NSHTTPURLResponse *response;
NSError *error;
NSData *responseData;
responseData=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
if(responseData&&[responseData length])
{
NSDictionary *dictionary=[NSJSONSerialization JSONObjectWithData:responseData options:0 error:&error];
return dictionary;
}
else
{
UIAlertView *noInternetAlert=[[UIAlertView alloc] initWithTitle:@"Boom A GIft" message:@"Server Error" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[noInternetAlert show];
noInternetAlert=nil;
return nil;
}
}
答案 0 :(得分:1)
响应数据不是有效的JSON,因为它的顶级项是数字,而不是Collection(列表或对象)。
可以转换为JSON的对象必须具有以下内容 属性:
顶级对象为
NSArray
或NSDictionary
。所有对象都是
NSString
,NSNumber
,NSArray
的实例,NSDictionary
或NSNull
。- 的实例
所有词典键都是
NSString
。
Numbers
不是NaN
或无穷大。
您可以将序列化程序配置为使用options
参数接受顶层的非集合对象。
enum {
NSJSONReadingMutableContainers = (1UL << 0),
NSJSONReadingMutableLeaves = (1UL << 1),
NSJSONReadingAllowFragments = (1UL << 2)
};
typedef NSUInteger NSJSONReadingOptions;
NSJSONReadingAllowFragments
指定解析器应该允许 不属于
NSArray
或NSDictionary
的实例的顶级对象。在OS X v10.7及更高版本中可用。
BTW:使用错误输出参数返回nil
(不是NULL
)不是在开玩笑,而是一个提示,问题是什么。 ; - )