AJAX request to local file system not working in Chrome?
本问题已经有最佳答案,请猛点这里访问。
我正在使用jQuery从XML动态创建UI。 我的jQuery在Firefox中工作,但在Chrome中它不起作用。 它给了我这个控制台错误:
Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.
以下是我的jQuery代码,它使用的是Firefox但不适用于Google Chrome:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | $.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> "+ tab +" </li> "); }); } }); |
Firefox允许该请求,因为它接受对本地文件系统的请求(即
请注意,您无法在任一浏览器中从外部域向本地文件系统发出AJAX请求 - 如果可以的话,这将是一个巨大的安全漏洞。
要使此AJAX请求在Chrome中运行,您需要向网络服务器发出请求。 如果您使用的是Windows,则可以在本地计算机上轻松安装IIS或WAMP。
请注意,可以在Google Chrome中启用允许从浏览器向本地文件系统发出请求的设置,但使用它确实不是一个好主意。 如果您决定继续这样做,可以在此处找到指南。