vib*_*bog 17 javascript ajax jquery google-chrome
我正在使用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>");
});
}
});
Run Code Online (Sandbox Code Playgroud)
Ror*_*san 23
Firefox允许该请求,因为它接受对本地文件系统(即file://协议)的请求,如果它们也来自那里.但是Chrome会拒绝所有XMLHttpRequests到file://网址.
请注意,您无法在任一浏览器中从外部域向本地文件系统发出AJAX请求 - 如果可以的话,这将是一个巨大的安全漏洞.
要使此AJAX请求在Chrome中运行,您需要向网络服务器发出请求.如果您使用的是Windows,则可以在本地计算机上轻松安装IIS或WAMP.
请注意,可以在Google Chrome中启用允许从浏览器向本地文件系统发出请求的设置,但使用它确实不是一个好主意.如果您决定继续这样做,可以在此处找到指南.
| 归档时间: |
|
| 查看次数: |
38150 次 |
| 最近记录: |