我正在努力使用 jQuery 从 XML 动态创建 UI。我的 jQuery 在 Firefox 中工作,但在 Chrome 中不起作用。它给了我这个控制台错误:
仅协议方案支持跨源请求:http、data、chrome、chrome-extension、https、chrome-extension-resource。
以下是我的 jQuery 代码,它可以在 Firefox 上运行,但不能在 Google chrome 上运行:
$.ajax({
url: 'file:///home/satendra/dndExamples/avisDnD/file.xml',
success: function(xml) {
$(xml).find('Tab').each(function() {
var id = $(this).attr('URL');
var tab = $(this).attr('TabName');
$("ul").append("<li><a href="+ id +">"+ tab +"</li>");
});
}
});
Firefox 允许该请求,因为它接受对本地文件系统(即file://
协议)(如果它们也源自那里)。但是 Chrome 拒绝所有 XMLHttpRequestfile://
urls.
请注意,您无法在任一浏览器中从外部域向本地文件系统发出 AJAX 请求 - 这将是massive如果可以的话,安全缺陷。
要使此 AJAX 请求在 Chrome 中工作,您需要向网络服务器发出请求。如果您使用的是 Windows,则可以轻松安装IIS or WAMP在您的本地计算机上。
请注意,可以在 Google Chrome 中启用一项设置,允许从浏览器向本地文件系统发出请求,但使用它确实不是一个好主意。如果您决定无论如何都要继续执行此操作,可以找到指南here.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)