【发布时间】:2013-12-16 06:04:44
【问题描述】:
我正在使用一个应用程序,我必须请求一个 url 并得到相应的响应
我正在使用 ASIHTTPRequest 请求 URL 这是我的要求
-(void)getTips {
if ([CommonFunctions networkConnected]) {
ShowNetworkActivityIndicator();
NSString *strPhp = @"staticpage.php";
NSString *strQuery = [[NSString alloc] initWithString:[NSString stringWithFormat:@"%@%@?static_id=3",GMS_URL,strPhp]];
ASIHTTPRequest *request = [[ASIHTTPRequest alloc] initWithURL:[NSURL URLWithString:strQuery]];
NSLog(@"tips url %@",request.url);
request.delegate = self;
[request setRequestMethod:@"GET"];
[request startAsynchronous];
}
}
这些是我的委托方法
-(void)request:(ASIHTTPRequest *)request didReceiveData:(NSData *)data {
// NSString *responseStr = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
// NSLog(@"responseStr %@",responseStr);
SBJsonParser *json = [[SBJsonParser alloc]init];
NSLog(@"json data %@",[json objectWithData:data]);
NSMutableArray *marrData = [[json objectWithData:data] valueForKey:@"responseData"];
if([[marrData valueForKey:@"result"] isEqualToString:@"failed"]){
[CommonFunctions showAlertMessage:[marrData valueForKey:@"error"]];
}
HideNetworkActivityIndicator();
}
无论我通过请求方法 GET 还是 POST,我都会得到空数据
当我在浏览器中检查相同的 url 时,我会从在线 json 查看器中获得响应和有效的 json
我在应用程序中得到空数据的可能原因是什么
【问题讨论】:
-
ASI 网络库已经停产。试试
AFNetworking。 -
thnx shivan !!我用 AFNetworking 替换了我的代码,现在一切正常!
标签: ios iphone objective-c asihttprequest sbjson