Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 真实设备上cordova/phonegap应用程序中的Ajax请求失败_Jquery_Ajax_Jquery Mobile_Cordova_Double Click - Fatal编程技术网

Jquery 真实设备上cordova/phonegap应用程序中的Ajax请求失败

Jquery 真实设备上cordova/phonegap应用程序中的Ajax请求失败,jquery,ajax,jquery-mobile,cordova,double-click,Jquery,Ajax,Jquery Mobile,Cordova,Double Click,我正在构建一个Cordova 4.0 jQuery Mobile 1.4.2Android应用程序,我遇到了一个特定的AJAX调用问题。我已经寻找过类似的问题,并且已经在那里实施了解决方案,但没有成功 下面是发生的情况: 我有以下AJAX调用: var request = $.ajax({ type: "GET" , crossDomain: true, url: 'http://pubads.g.doubleclick.net/gampad/ad

我正在构建一个Cordova 4.0 jQuery Mobile 1.4.2Android应用程序,我遇到了一个特定的AJAX调用问题。我已经寻找过类似的问题,并且已经在那里实施了解决方案,但没有成功

下面是发生的情况:

我有以下AJAX调用:

var request = $.ajax({
        type: "GET" ,
        crossDomain: true,
        url: 'http://pubads.g.doubleclick.net/gampad/adx?iu=/XXX/YYY&sz=300x50&c=123456789'
    });

    request.done(function (response, textStatus, jqXHR){

        console.log(response);
    });

    request.fail(function (jqXHR, textStatus, errorThrown){
        console.error("DFP Plugin Error: " + textStatus, errorThrown);
    });
当我在我的电脑浏览器中运行我的应用程序时,这个请求工作得非常好。但是,当我从真实设备构建和调试应用程序时,请求失败,出现以下错误:
{“readyState”:0,“responseText:”,“status”:0,“statusText:“error”}

我已经启用了
$.support.cors=true
$.mobile.allowCrossDomainPages=true,我的config.xml文件中已经有


有人能帮我找出问题所在吗?

因为android Ajax请求的新内容安全策略被阻止

试试下面的方法,看看是否有效

打开config.xml文件

替换

<access origin="*" />


准备phonegap项目并重新构建,然后在真实设备上进行检查

问候,,
Jagat

好吧,这不是我所期望的答案,但这就是我为解决这个问题所做的:创建一个全新的Cordova 4.0项目,并将另一个项目的www文件夹复制到那里。然后像往常一样在eclipse中构建和运行,一切都正常运行,而不改变项目中任何地方的一行代码

我意识到问题不在代码中,因为我注意到我在应用程序中使用的其他AJAX调用(过去工作正常)也失败了


所以我不知道这是不是Cordova4.0的错误,但在某个时候AJAX停止了工作。我发布这篇文章是为了防止有人遇到同样的问题。

在我的例子中,我从cordova 3.7升级到cordova 5
以下是我解决问题的方法:添加插件cordova插件白名单

结果我只是缺少以下插件:

cordova插件白名单


在我安装它之后,移除android平台,重新添加android平台,构建并运行,一切正常

服务器端出错。@HanhLe不确定,如果是这种情况,它在两种情况下都不能工作,但它可以在桌面浏览器中工作……您能告诉我们您的控制台输出吗?使用此命令可获得控制台输出:此处存在相同问题。。。生病了/这也发生在我身上。但在谷歌搜索“cordova ajax call not work”之后,我从设备和emulator上卸载了我的应用程序,擦除emulator,删除emulator并创建一个新的,当然,还要修改我的dns服务器设置,因为我从dnsmasq上的调用有点滑稽。链接到文档:和命令:
cordova plugin add cordova plugin whitelist
<access origin="http://*" />
<access origin="https://*" />