android - PhoneGap AJAX 请求不起作用

标签 android jquery ajax cordova phonegap-build

我正在使用最新的 PhoneGap 版本,并进行 ajax 调用。

$.ajax({
            type      : 'POST',
            url       : 'http://example.com/path to my API', 
            data      : {d1: v1, d2: v2},
            dataType  : 'json',
            success   : function(data) {
                           console.log(data);
                        },
            error     : function(){
                            alert('Error');
                        }
}); 

当我在桌面浏览器或移动 PhoneGap Developer App 上测试我的应用程序时,它工作正常,但在构建应用程序 (.apk) 之后,ajax 请求不起作用并且失败而不是成功。我已经完成了所有提到的配置,包括:

<access origin="*" />
 <plugin name="cordova-plugin-whitelist" version="1" />
    <allow-navigation href="*" />
    <allow-intent href="http://*/*" />
    <allow-intent href="https://*/*" />

还在我的 HTML 中添加了 Content-Security-Policy 元标记,并指向我的 API 所在的域:

<meta http-equiv="Content-Security-Policy" content="connect-src 'self' http://example.com/">

我正在使用 PhoneGap 在线构建服务来构建应用程序。 我真的需要帮助,因为我已经完成了我能找到的所有修复,但还没有成功。

最佳答案

@纳比尔, 你很幸运。我目前正在整理 blog post on whitelist

如下更改您的 CSP。它应该可以解决问题

<meta http-equiv="Content-Security-Policy" 
          content="default-src *; 
                   style-src 'self' 'unsafe-inline' 'unsafe-eval'; 
                   script-src 'self' 'unsafe-inline' 'unsafe-eval';">

如果您使用的是 iOS9,则需要为 Apple 的 ATS 添加一些内容。进一步阅读文档以获取详细信息。

祝你好运

关于android - PhoneGap AJAX 请求不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33445491/

相关文章:

android - 如何显示水平和垂直渐变分隔线?

javascript - 使用 JCrop 重新缩放大图像

javascript - 使用 jQuery 进行订单行定价

php - 使用 jQuery 解析 PHP Json 对象。

java - 安卓/Java : long gets negative without exceeding max_value

android - Android NDK 更新版本的 (OSX) 路径在哪里?

jquery - 在 Rails 中发送 ajax 请求时出现 MultiJson::DecodeError

javascript - jquery .ajax .done 函数仅在警报时完成

android - PubNative Android 在 ListView 中显示多个广告

jquery - 嵌入vlc插件