You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Cordova Android 10环境下Allow List CORS报错问题求助

Cordova Android 10+ CORS报错解决方案
  • 补全config.xml配置
    现有配置缺少allow-navigation规则,该规则控制WebView可导航的域名范围,新增如下配置:
    <allow-navigation href="*" />
    <!-- 如果需要兼容file协议加载本地资源,新增以下偏好设置 -->
    <preference name="AndroidInsecureFileModeEnabled" value="true" />
    
  • 修正后端CORS配置
    现有配置未处理OPTIONS预检请求,且Origin规则可能和实际请求不匹配,调整PHP接口代码:
    // 允许请求的Origin,调试阶段可动态获取适配,生产环境建议限制为白名单域名
    if (isset($_SERVER['HTTP_ORIGIN'])) {
        header("Access-Control-Allow-Origin: " . $_SERVER['HTTP_ORIGIN']);
    }
    header("Access-Control-Allow-Headers: Authorization, Content-Type");
    header("Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS");
    header('Content-Type: application/json; charset=utf-8');
    // 如果请求带身份凭证(Cookie、Authorization头),新增以下配置
    header("Access-Control-Allow-Credentials: true");
    
    // 处理OPTIONS预检请求,直接返回204无内容即可
    if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {
        http_response_code(204);
        exit;
    }
    
  • 新增WebView跨域权限配置
    在Cordova主Activity的onCreate方法中添加WebView设置,允许跨域访问:
    WebView webView = (WebView) appView.getView();
    WebSettings webSettings = webView.getSettings();
    webSettings.setAllowUniversalAccessFromFileURLs(true);
    webSettings.setAllowFileAccessFromFileURLs(true);
    
  • 调试排查建议
    开启WebView远程调试功能,连接Chrome浏览器输入chrome://inspect查看具体CORS报错信息,根据报错内容针对性调整规则,比如是否是请求方法不被允许、自定义头被拦截等。

内容的提问来源于stack exchange,提问作者Jaime Velasco

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 22:27:01