ios - 在 iOS 上使用 Cordova WKWebView 插件时,Ajax 调用失败,HTTP 状态为 0

标签 ios ajax cordova uiwebview wkwebview

我一直在尝试更新我的 Cordova iOS 应用程序以使用新的 WKWebView 可插入 Web View ,但我遇到了一个问题,即安装后我无法进行 ajax 调用。当我尝试进行以下调用时,我收到 HTTP 状态 0 的错误结果:

return Promise.resolve($.ajax({
        url: 'https://mytestserver.com/settings',
        timeout: 10000 
    }))

我在 iOS 平台 4.0.0 上使用 Cordova 5.4.1,我的测试设备运行的是 iOS 9.2。一旦我删除 WKWebView 插件并且 Cordova 恢复到 UIWebView,此代码就会按预期工作。我尝试过使用和不使用白名单插件 (1.2.0)。

我的 config.xml 包括:

<access origin="*" />

我的 index.html CSP 标签是:

<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: cdvfile: https://ssl.gstatic.com 'unsafe-inline'; style-src 'self' 'unsafe-inline'; media-src *; img-src *; connect-src https: blob: 'self'; object-src 'self' blob:;">

最佳答案

您是否阅读了文档的限制部分?

如果您从 UIWebView 升级,请注意使用 WKWebView 的限制,如 our issue tracker 中所述。 .

我认为你的问题是 WKWebView is affected by CORS

所以你必须在服务器上设置Access-Control-Allow-Origin: *

Examples

关于ios - 在 iOS 上使用 Cordova WKWebView 插件时,Ajax 调用失败,HTTP 状态为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34270037/

相关文章:

ios - 在 iOS 设备上写入描述符 BLE

Ios绘图线动画

javascript - 在ajax调用中以JSON形式接收jsp响应

android - 如何在 android 中使用 jquery 和 phonegap 打开 pdf 文件?

php - 我需要在服务器端更改什么才能启用 chunkedMode = true?

iphone - 我们可以使用phonegap框架在iphone中进行推送通知吗?

ios - Cordova 启动画面插件 iPad 横向模式问题

ios - UIDocumentInteractionController 在不保存 Swift 的情况下使用来自 Web 的 URL 打开

javascript - 如何使用 JavaScript 或 PHP 传回唯一 ID?

php - 预加载与数据库级联下拉列表