Подтвердить что ты не робот

IOS9 WKWebView Access-Control-Allow-Origin

Я загружаю локальный html файл в IOS WKWebview с помощью loadFileURL: allowingReadAccessToURL. Но когда я отправляю запрос ajax, он терпит неудачу.

Ошибка:

Происхождение null не разрешено Access-Control-Allow-Origin.

Можно ли установить некоторые свойства для исправления этой ошибки, например, в Android, мы можем использовать setAllowUniversalAccessFromFileURLs?

4b9b3361

Ответ 1

Вы пытались установить это так?

let config = WKWebViewConfiguration()
config.setValue(true, forKey: "allowUniversalAccessFromFileURLs")

Ответ 2

Попробуйте использовать loadRequest вместо loadFileURL. Это сработало для меня:

NSString* path = [[NSBundle mainBundle] pathForResource:@"pageName" ofType:@"html"];
NSURLRequest* request = [NSURLRequest requestWithURL:[NSURL fileURLWithPath:path]];
[self.webView loadRequest:request];

После этого мой запрос работал нормально, в то время как раньше у меня была ошибка "Не могу сделать запросы с нуля".

Ответ 3

если вы хотите читать из файла localhtml, вам нужно установить allowReadAccess

let documentsPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0] let documentsURL = URL(fileURLWithPath: documentsPath, isDirectory: true) let finalURL = URL(string: htmlurl) webview.loadFileURL(finalURL!, allowingReadAccessTo: documentsURL)

Ответ 4

В Chrome запросы CORS не будут работать с локального хоста, несмотря на правильные заголовки CORS, просто говоря... продолжайте бить меня по этому поводу