关于 WebView 加载不出来数据的一个小问题

今天,在维护老项目的时候,出现了一个特别奇怪的问题,使用 UIWebview 加载网页的时候出现了空白,url 放在浏览器中可以正常访问

解决方法

起初,怀疑是这个 url 地址错误的原因,但是当我把它放到浏览器中的时候,是可以正常访问的,而我们的 webView 加载网页的方法也没有问题,瞬间懵逼中 ~

后来仔细研究发现,后台返回来的这个 url 后面居然多了几个空格 !, 而我们的 webView 对不能解析这个带空格的 url,所以就请求不来数据

方案一:url 去空格处理

- (NSString *)deletSpaceInString:(NSString *)text {
    NSString *content = [text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]; /// 去首尾空格
    NSString *replace = [content stringByReplacingOccurrencesOfString:@" " withString:@""];/// 去全部空格
    return replace;
}

方案二:url 进行UTF8编码(推荐)

当我们在进行网络请求时,如果 url 中存在中文或特殊字符,会导致无法访问网络。
常见的特殊字符就是 &空格

self.urlString = [self.urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

你可能感兴趣的:(关于 WebView 加载不出来数据的一个小问题)