0

我正在使用 ASIHTTPRequest 但我的 responseData 为空。响应应该是 JSON 响应,当我尝试在浏览器中执行此操作时,它可以完美运行。

这是我的代码:

- (IBAction)simpleURLFetch {
    NSURL *url = [NSURL URLWithString:@"http://url/url/url"];
    ASIHTTPRequest* request = [ASIHTTPRequest requestWithURL:url];
    request.timeOutSeconds = 30;
    [request setDelegate:self]; // I correctly set the ASIHTTPRequestDelegate in my .h file
    [request startAsynchronous];
}

- (void)requestFinished:(ASIHTTPRequest *)azrequest {
    NSString *responseString = [azrequest responseString];
    NSData *responseData = [azrequest responseData];

    NSLog(@"repo : %@ / %@", responseData, responseString);
}

日志显示:“repo : (null) / <> /”

也许,我没有以好的方式使用结果。有没有解决方案让我的 JSON 响应?

问候,塞巴斯蒂安;)

4

2 回答 2

1

问题在于您没有取回数据,而不是您错误地访问了数据。您的代码中的 URL 显然无效,我怀疑这不是您使用的那个。无论哪种方式,请求都无法获取任何数据,因此没有什么要记录的。

于 2012-08-11T14:20:13.253 回答
0

如果你已经实现了委托方法:-(void)request:(ASIHTTPRequest *)request didReceiveData:(NSData *)data

然后,responseData 将为空。因为 API 会将数据处理交给应用程序。

于 2014-08-19T07:15:26.180 回答