1

我正在尝试设置一个网站以在本地文件系统上运行并调用 XML 文件,但我遇到了访问控制来源错误:

Access-Control-Allow-Origin 不允许 Origin null。

我尝试将数据类型切换为 jsonp 并将跨域设置为 true:

$j.ajax({
            crossdomain: true,
            url: 'xml/vehicles.xml',
            dataType: "jsonp",      
            success: function( vehicleXML ) {
                supertree.parseVehicles($j(vehicleXML).find("vehicles"), null);
                supertree.vehiclesLoaded = true;
                if(supertree.scenesLoaded) supertree.ready();
            }
        }); 

但它不起作用。关于如何做到这一点的任何想法?最好没有代理?

4

1 回答 1

2

同源策略阻止您访问数据。您请求数据的服务器需要启用CORS,或者您需要在服务器上使用代理从其他服务器获取数据。

其他选项是将 XML 数据更改为JSONP格式。这不像告诉 jQuery 发出 JSONP 请求那么容易。数据格式完全不同,服务器必须返回该格式,JavaScript 对此无能为力。

于 2012-04-24T15:39:06.427 回答