【发布时间】:2012-07-26 18:53:24
【问题描述】:
我的代码向服务器发出两个请求。一个直接进入 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;
}
【问题讨论】:
-
我没有真正的答案,只是有几个想法....
responseObject的块是什么实际的东西?此外,已知客户端会在加载之前发送“HEAD”方法请求以验证资源,但我不知道这是否支持授权。
标签: objective-c xcode uiwebview afnetworking