jquery - 从本地文件系统加载XML文件,没有跨域错误

时间:2012-04-24 15:27:05

标签: javascript jquery xml ajax cross-domain

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

Access-Control-Allow-Origin不允许使用原点。

我尝试将数据类型切换为jsonp并将crossdomain设置为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();
            }
        }); 

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

1 个答案:

答案 0 :(得分:2)

Same origin policy阻止您访问数据。您要求数据的服务器需要启用CORS,或者您需要在服务器上使用代理来从其他服务器获取数据。

其他选项是将XML数据更改为JSONP格式。它并不像告诉jQuery发出JSONP请求那么容易。数据格式完全不同,服务器必须返回该格式,JavaScript无法做任何事情。