【问题标题】:ASIHTTPRequest + SBJSon iphoneASIHTTPRequest + SBJSon iphone
【发布时间】: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


【解决方案1】:

使用 requestFinished: delegate.. 请试试这个。

-(void)requestFinished:(ASIHTTPRequest *)request
{
   NSLog(@"response %@", [request responseString]);
}

【讨论】:

  • 我也没有得到任何响应字符串!
猜你喜欢
  • 1970-01-01
  • 2011-09-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多