1

我正在为 Blackberry OS 5+ 开发 HTML5 应用程序。

我正在使用 jQuery 下载 XML 文件并使用此函数显示它:

$(document).ready(function()
{
    $.ajax({
        type: "GET",
        url: "http://xxx.com/yyy/mTop",
        dataType: "xml",
        success: function(xml) {
            $(xml).find('item').each(function(){
                var tipo = $(this).find('tipo').text();
                var porcentaje = $(this).find('porcentaje').text();
                $('<div class="items"></div>').html('<p>' + tipo + ' - ' + porcentaje + '</p>').appendTo('#page-wrap');
            });
        }
    });
});

但我收到了这个错误:

XMLHttpRequest cannot load http://xxx.com/yyy/mTop. Origin file:// is not allowed by Access-Control-Allow-Origin.

如何解析远程 XML 文件?

也许我需要将检索到的 XML 转换为 DOM 对象以与 jQuery 一起使用。

4

3 回答 3

1

那是因为同源政策

该策略允许在来自同一站点的页面上运行的脚本无特定限制地访问彼此的方法和属性,但禁止跨不同站点的页面访问大多数方法和属性

你应该JSONP改用。

于 2012-07-25T17:25:59.840 回答
0

您的部分问题是您的文件路径是文件夹而不是 XML 文件。从那里开始,看看你的问题是否仍然存在。

于 2012-08-02T17:46:53.657 回答
0

并且您的链接中没有文件位置(url:“http://xxx.com/yyy/mTop”)的原因是因为网站在您访问文件夹的那一刻“生成”了一个 xml,从而减慢了网站的速度每次你到达它..

你必须做的是:

在浏览器上访问http://xxx.com/yyy/mTop 右键-查看源代码-复制到记事本-另存为.xml

将文件上传到另一个文件夹

然后将您的代码网址更改为以下网址:“http://xxx.com/yyy/mTop/yourdailyXMLcopy.xml

并保持每天更新文件..否则,每次任何用户使用您的东西进行大量工作时,您都会终止服务器查询...

于 2014-09-24T16:43:10.190 回答