objective-c – 将AFHTTPRequestOperation的响应传递给UIWebview
发布时间:2020-12-14 17:21:44 所属栏目:百科 来源:网络整理
导读:我的代码向服务器发出两个请求.一个进入uiwebview,一个进入AFHTTPRequestOperation.我想使用AFHTTPRequestOperation并将响应传递给我的uiwebview.将响应传递到uiwebview而不是再次加载它的正确语法是什么?如果不从服务器调用两次,我该怎么做?我仍然希望能
我的代码向服务器发出两个请求.一个进入uiwebview,一个进入AFHTTPRequestOperation.我想使用AFHTTPRequestOperation并将响应传递给我的uiwebview.将响应传递到uiwebview而不是再次加载它的正确语法是什么?如果不从服务器调用两次,我该怎么做?我仍然希望能够测试加载请求的成功或失败,并发送用户名和密码以连接到URL.
- (BOOL)textFieldShouldReturn:(UITextField *)textField { [itemField resignFirstResponder]; NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; NSString *userName = [defaults objectForKey:@"storedUserName"]; NSString *passWord = [defaults objectForKey:@"storedPassWord"]; NSURL *url = [NSURL URLWithString:@"http://www.example.net/"]; AFHTTPClient *client = [[AFHTTPClient alloc] initWithBaseURL: url]; [client setAuthorizationHeaderWithUsername:userName password:passWord]; NSMutableURLRequest *request = [client requestWithMethod:@"GET" path:[@"/example/itemlookup.php?item=" stringByAppendingString:itemField.text] parameters:nil]; AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request]; [operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation,id responSEObject) { //calling again here was the only way I could figure out to get this into my webview //need to get response from above and put into the uiwebview [webView loadRequest:request]; NSLog(@"Success"); } failure: ^(AFHTTPRequestOperation *operation,NSError *error) { NSLog(@"Failure"); }]; NSOperationQueue *queue = [[NSOperationQueue alloc] init]; [queue addOperation:operation]; return YES; } 解决方法
我建议使用AFNetworking的UIWebView类别,它正是这样做的;使用AFHTTPRequestOperation加载网页内容,然后将其作为HTML字符串加载到Web视图中.
否则,我建议您查看该类别,看看您是否可以调整其代码供您使用. https://github.com/AFNetworking/AFNetworking/blob/master/UIKit%2BAFNetworking/UIWebView%2BAFNetworking.m (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |