Ajax IOS9 WKWebView访问控制允许源
我使用Ajax IOS9 WKWebView访问控制允许源,ajax,wkwebview,Ajax,Wkwebview,我使用loadFileURL:allowingReadAccessToURL在IOSWKWebview上加载本地html文件。。 但当我发送ajax请求时,它失败了 错误是: 访问控制允许原点不允许原点为null 我是否可以设置一些属性来修复此错误,例如在Android中,我们可以使用setAllowUniversalAccessFromFileURLs?尝试使用loadRequest而不是loadFileURL。这对我很有用: NSString* path = [[NSBundle mainB
loadFileURL:allowingReadAccessToURL
在IOSWKWebview
上加载本地html文件。。
但当我发送ajax请求时,它失败了
错误是:
访问控制允许原点不允许原点为null
我是否可以设置一些属性来修复此错误,例如在Android中,我们可以使用
setAllowUniversalAccessFromFileURLs
?尝试使用loadRequest而不是loadFileURL。这对我很有用:
NSString* path = [[NSBundle mainBundle] pathForResource:@"pageName" ofType:@"html"];
NSURLRequest* request = [NSURLRequest requestWithURL:[NSURL fileURLWithPath:path]];
[self.webView loadRequest:request];
在那之后,我的查询工作正常,而我之前遇到了一个“无法从null发出任何请求”错误。如果要从localhtml文件读取,必须设置AlloweradAccess
let documentsPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0]
let documentsURL = URL(fileURLWithPath: documentsPath, isDirectory: true)
let finalURL = URL(string: htmlurl)
webview.loadFileURL(finalURL!, allowingReadAccessTo: documentsURL)
在Chrome上,CORS请求无法从localhost dispite正确的CORS头工作,只是说。。一直用我的头敲那一个你试过这样设置吗
let config = WKWebViewConfiguration()
config.setValue(true, forKey: "allowUniversalAccessFromFileURLs")
当HTML在本地加载(文件URL)时,WkWebView下面的配置设置对我有效
WKWebViewConfiguration *theConfiguration = [[WKWebViewConfiguration alloc] init];
WKUserContentController *userContentController = [[WKUserContentController alloc] init];
[theConfiguration.preferences setValue:@"TRUE" forKey:@"allowFileAccessFromFileURLs"];
[theConfiguration setValue:@"TRUE" forKey:@"allowUniversalAccessFromFileURLs"];
当您设置上述设置时,origin将作为“file://”而不是null传递您的ajax请求到底是什么?我从CSS中引用的图像url中得到了null错误。这把它修好了。