【发布时间】:2012-05-05 06:37:45
【问题描述】:
我正在尝试设置一个网站以在本地文件系统上运行并调用 XML 文件,但我遇到了访问控制来源错误:
Access-Control-Allow-Origin 不允许 Origin null。
我尝试将数据类型切换为 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();
}
});
但它不起作用。关于如何做到这一点的任何想法?最好不用代理?
【问题讨论】:
-
由于您在文件系统中工作,因此有一个全新的限制和跨浏览器差异列表。例如,除非您使用正确的标志运行 chrome,否则 Chrome 将不允许您对文件系统执行任何 XMLHTTP 请求。其他浏览器可能会毫无问题地允许该请求。更改为 JSONP 而不是 XML 将是最跨浏览器的处理方式。
标签: javascript jquery xml ajax cross-domain