ajax GET请求返回Status和ReadyState 0

时间:2016-05-18 19:05:12

标签: android jquery ajax cordova

我使用以下代码在Cordova应用程序中发出ajax请求

        $.ajax(rssUrl, {ct: id, crossDomain: true}).done(
                function (data, textStatus, jqXHR) {
                    var object = $(this);           //extracting context

                    var cntxt = object[0].ct;

                    rssReader.parse(data, textStatus, jqXHR, true, cntxt)
                }
            )
            .fail(alErr);

此请求在纹波仿真器中工作正常,但在物理android设备上进行构建我不断获取alErr输出(jqXHR对象的status和readyState为0)

具体而言,这不适用于http://www.footballnewsguru.com/feeds/posts/default/-/Liverpool?alt=json&max-results=10 它适用于我正在访问的其他Feed

来自jQuery Ajax - Status Code 0?的第一个答案似乎不适用于我的应用,因为CSP在模拟器中允许请求,因此没有DNS问题。

我一直在寻找解决方案几个小时,但主要是关于在发送ajax请求之前浏览器刷新或表单提交,但两者都不适用于我的情况。

[编辑]

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

这是CSP的元数据。 编码URL也不起作用。

1 个答案:

答案 0 :(得分:0)

在这里找到答案: Ajax request failing in cordova/phonegap app on real device

最后一个答案通过添加

为我工作
<access origin="http://*" />
<access origin="https://*" />

到config.xml,仍然想知道为什么

<access origin="http://www.footballnewsguru.com" />

无效。