无法在jquery上读取外部xml文件

时间:2015-07-17 15:16:17

标签: jquery html xml cordova phonegap-build

我正在通过phonegap开发一个应用程序,我必须阅读一个外部xml文件,其中包含很多重要信息。

我尝试了下面的代码,但是我遇到了一个恼人的错误。在搜索到处后,我找不到任何解决方案。

jquery代码:

$(document).ready(function(){
    $.ajax({
        url: 'http://servicos.cptec.inpe.br/XML/cidade/233/condicoesAtuaisUV.xml',
        success: function(data) {
            console.log('ok')
        },
        error: function() {
           console.log('problem')
        }
    });
});

该死的错误:

阻止跨源请求:同源策略禁止在http://servicos.cptec.inpe.br/XML/cidade/233/condicoesAtuaisUV.xml读取远程资源。 (原因:CORS标题' Access-Control-Allow-Origin'缺失)。

我读到有必要启用CORS,但我该怎么做?

感谢您的关注!

1 个答案:

答案 0 :(得分:1)

在Phonegap上,您需要使用白名单来访问多个服务器。你得到的CORS建议是正确的主题,但不是正确的解决方案 - 对于phonegap。

注意:请仔细阅读。许多人被绊倒了。它们是有区别的。截至本月(2015年7月),4.0版和前沿版之后的版本将需要一个插件。 (我没有详细说明,所以你必须阅读。)

白名单指南 4.0
http://docs.phonegap.com/en/4.0.0/guide_appdev_whitelist_index.md.html

白名单指南 3.3
http://docs.phonegap.com/en/3.3.0/guide_appdev_whitelist_index.md.html

这里有一些细节:
http://community.phonegap.com/nitobi/topics/which-whitelist-plugin-should-pgb-user-to-use http://community.phonegap.com/nitobi/topics/pgb-support-which-whitelist-function