Javascript 不能';从本地html页面删除ajax本地文件

Javascript 不能';从本地html页面删除ajax本地文件,javascript,jquery,ajax,html,Javascript,Jquery,Ajax,Html,根据,SOP不应该应用于file://协议,但为什么我的代码不起作用呢?我正在本地系统中运行这个测试页面,我的abc.txt与html页面位于同一目录中。如果我将URL更改为,它也不起作用。我不明白为什么,有人能解释一下吗 <!doctype html> <html lang="us"> <head> <meta charset="utf-8"> <title>jQuery UI Example Page</tit

根据,SOP不应该应用于file://协议,但为什么我的代码不起作用呢?我正在本地系统中运行这个测试页面,我的abc.txt与html页面位于同一目录中。如果我将URL更改为,它也不起作用。我不明白为什么,有人能解释一下吗

<!doctype html>
<html lang="us">
<head>
    <meta charset="utf-8">
    <title>jQuery UI Example Page</title>
    <link href="css/sunny/jquery-ui-1.10.2.custom.css" rel="stylesheet">
    <script src="js/jquery-1.9.1.js"></script>
    <script src="js/jquery-ui-1.10.2.custom.js"></script>
    <script>
    $.support.cors = true;
    $(function(){
        $(".btn1").button().click(function(){
            $.ajax({

              url: "abc.txt"

            }).done(function(result) {
              alert("done");
              $(".content").html(result);
            }).fail(function() { 
                alert("error"); 
            });
        });

    });

    </script>
</head>
<body>

<button class="btn1">Click me!</button>

<div class="content"></div>

</body>
</html>

jQueryUI示例页面
$.support.cors=true;
$(函数(){
$(“.btn1”).button()。单击(函数(){
$.ajax({
网址:“abc.txt”
}).完成(功能(结果){
警惕(“完成”);
$(“.content”).html(结果);
}).fail(函数(){
警报(“错误”);
});
});
});
点击我!
编辑: 控制台打印如下:

无法加载XMLHttpRequest file:///C:/Users/yc/Desktop/jquery%20ajax%20testing/jquery-ui-1.10.2.custom/jquery-ui-1.10.2.custom/abc.txt。 访问控制允许原点不允许原点为null


*它也不适用于Firefox。

这不是一个bug,它是一个安全特性,你不能/不会在客户端的计算机上使用

在chrome中,您可以通过在命令行上添加以下标志来禁用它

--禁用web安全性

Firefox可能有类似的功能,但我不知道。这只对开发目的有用,在应用程序中不能依赖这种行为


你真的应该只使用服务器…

这不是一个bug,它是一个安全特性,你不能/不会在客户端的计算机上使用

在chrome中,您可以通过在命令行上添加以下标志来禁用它

--禁用web安全性

Firefox可能有类似的功能,但我不知道。这只对开发目的有用,在应用程序中不能依赖这种行为


您真的应该只使用服务器…

比“”稍微安全一点的命令行标志--“禁用web安全性”是


这不会完全关闭所有安全功能。同样,此标志也不应在生产环境中使用…

比“”稍微安全一点的命令行标志是--disable web security“”


这不会完全关闭所有安全功能。此外,此标志不应在生产环境中使用…

尝试设置
数据类型:“text”,
选项也在您的ajax调用中。您可以启动chrome,使用
--禁用web安全
--允许从文件访问文件
控制台的功能是什么say@PalashMondal它仍然不起作用。@Iliachory,这不仅仅发生在chrome上。我使用firefox和IE,它们都有相同的问题。尝试在ajax调用中设置
数据类型:“text”和
选项。您可以使用
--禁用web安全性
--允许从文件访问文件
来启动chrome。控制台有什么功能say@PalashMondal它仍然不起作用。@Iliachory,这不仅仅发生在chrome上。我使用firefox和IE,它们有同样的问题。第二个选项不再是有效的规避-通过编辑删除。@smaudet编辑请求被拒绝。留下一条评论就足够了,然后由答案的作者决定是否从答案中删除第二个选项。第二个选项不再是有效的规避-通过编辑删除。@smaudet edit请求被拒绝。留下一条评论就足够了,然后由答案的作者决定是否从答案中删除第二选项。
--allow-file-access-from-files