当前位置: 首页 > 面试题库 >

无法从本地HTML页面Ajax本地文件

胡新
2023-03-14
问题内容

根据Same OriginPolicy,SOP不应应用于file://协议,但是为什么我的代码不起作用?我正在从本地系统运行此测试页面,并且与html页面位于同一目录中。如果我将URL更改为http://www.google.com/,它也无法正常工作。我不明白为什么,有人可以解释吗?

<!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>

编辑: 控制台打印如下:

XMLHttpRequest无法加载文件:/// C:/Users/yc/Desktop/jquery%20ajax%20testing/jquery-
ui-1.10.2.custom/jquery-ui-1.10.2.custom/abc.txt。Access-Control-Allow-
Origin不允许使用Origin null。

*它也不适用于Firefox,IE。


问题答案:

这不是错误,它是一种安全功能,您无法/不会在客户端计算机上使用它。

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

--disable-web-security

Firefox可能有类似的东西,但我不知道。这仅对开发有用,您不能在应用程序中依赖此行为。

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



 类似资料:
  • 我的机器上有一堆简单的纯文本文件,里面有关于我学习的各种主题的笔记。我决定用一些css做一个本地html页面,作为快速和简单的和css美化的视图到这些文件中,并使用浏览器来显示它们。所以我有一个页面看起来是这样的。 很明显,单击链接会将我引导到文本文件,但我希望它以css样式显示,所以我认为解决这个问题的方法是获取这些本地文件,并使用onclick事件将它们放入content_box div中,禁

  • 问题内容: 在我的一个Java控制台应用程序中,我正在动态创建html页面。现在,我想使用默认的Web浏览器打开它。你们能帮我解决这个问题吗? 问题答案: 摇摆 SWT 摘自In Eclipse插件,如何使用系统浏览器启动WebURL? 假设您有一个要打开的文件。

  • 问题内容: 我用简单的ajax创建了简单的html文件。 index.html : 文件 2.html 与文件 index.html 位于同一目录中。并包含例如: 当我在网络服务器上运行 index.html 时,一切正常。但是,如果您在计算机上将文件 index.html 作为本地文件运行,则ajax无法正常工作。如何解决? 问题答案: 如果正在检查,这是Chrome的已知问题。使用XAMPP运

  • 问题内容: 在android中,我使用WebView来显示我使用Apache的HttpClient从互联网上获取的网页的一部分。为了只包含我想要的html部分,我使用了Jsoup。 现在,我可以加载WebView并显示它。现在,我想将此页面链接到存储在我的Assets文件夹中的CSS文件。我知道我可以有类似的东西 在我的html中,但是如何链接它,所以它使用了我本地存储的那个? -–编辑— 我现在

  • 问题内容: 我有一个android webview加载我在本地拥有资产的网站。我不是自己构建的,对标记,js等的控制很少。 问题:网站的某些部分使用jquery $ .ajax- gets获取HTML以模态显示,并且我认为我遇到了跨域问题(如果我在台式机上本地测试该网站,则会得到相同的来源-警告,我的来源是“ null”),即由于某种原因,本地js无法ajax获取Assets文件夹中的其他本地文件

  • 问题内容: 我正在使用jQuery和一些xml文件开发网站的脱机版本。我在xml文件上执行$ .ajax调用时遇到jQuery中的问题jQuery引发错误。 当我查看错误时,我可以告诉它正在加载XML文件,因为它位于错误的responceText属性中。它似乎可以在Firefox中正常工作。 这是我的电话的样子 当我在Web服务器上运行它时,它就可以正常工作。只有在我从文件中运行它时,才会出现此问