使用URL中的锚点进行AFNetworking

时间:2014-08-22 09:16:37

标签: ios objective-c uiwebview afnetworking-2

尝试使用AFNetworking将网页加载到UIWebView中。 网页的网址如下例所示www.something.com/test#!info/c1fd。 UIWebView不会显示此URL的内容,而是始终显示www.something.com的内容。这是错误的做法吗?

NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"www.something.com/test#!info/c1fd"] cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:10.0];

    AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
    operation.responseSerializer = [AFHTTPResponseSerializer serializer];
    [operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {

        [myWebView loadData:responseObject MIMEType:@"text/html" textEncodingName:nil baseURL:nil];

    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {

        NSLog(@"%@", error);
    }

    [operation start];

1 个答案:

答案 0 :(得分:0)

您传递给URLWithString:的网址字符串未正确编码。您需要转义!#,如下所示:

@"www.something.com/test%23%21info/c1fd"

根据文档:

  

此方法要求URLString仅包含字符   允许在正确形成的URL中。所有其他角色必须是   适当的百分比逃脱。任何百分比转义的字符都是   使用UTF-8编码解释。