这是问题,我使用AFNetwoking获取返回的页面html。 我可以看到responseObject是一个html页面。 这是我使用的代码。
NSURL *url = [NSURL URLWithString:@"https://graph.z.qq.com/moc2/authorize"];
AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL:url];
NSMutableDictionary *params = [[NSMutableDictionary alloc] init];
[params setValue:@"code" forKey:@"response_type"];
[params setValue:@"100266567" forKey:@"client_id"];
[params setValue:@"http://www.qq.com" forKey:@"redirect_uri"];
NSMutableURLRequest *request = [httpClient requestWithMethod:@"GET" path:@"https://graph.z.qq.com/moc2/authorize" parameters:params];
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
[httpClient registerHTTPOperationClass:[AFHTTPRequestOperation class]];
__阻止NSData * data = [[NSData alloc] init];
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject){
data = responseObject;
NSLog(@"Response: %@", [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding]) ;
} failure:^(AFHTTPRequestOperation *operation, NSError *error){
NSLog(@"Error: %@", error);
}];
[operation start];
现在我想将responseObject加载到uiwebview中。 我尝试了loadHTMLString,但它没有用。
[webView loadHTMLString:[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] baseURL:url ];
有人对此有任何想法吗?
答案 0 :(得分:0)
看起来您不会在任何处理程序块中加载数据。
AFNetworking是异步的。因此,如果您在返回任何数据之前尝试加载数据,则不会发生任何事情。
将加载代码放在您记录数据的相同位置。
答案 1 :(得分:0)
尝试重写此方法,然后返回YES:
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
return YES;
}
请记住将您的类设置为UIWebViewDelegate并将您的UIWebView的.delegate
属性链接到self
。