1

我正在尝试在 Chrome 中使用 jquery 加载一个 txt 文件。为什么它不起作用?我从 w3schools 复制了这段代码片段,我改变的只是他们的网址。

<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js">
</script>
<script>
$(document).ready(function(){
  $("button").click(function(){
    $("#div1").load("http://stackoverflow.com/questions/15114993/how-to-embed-a-file-in-html-using-jquery-load");
    alert("clicked");
  });
});
</script>
</head>
<body>

<div id="div1"><h2>Let jQuery AJAX Change This Text</h2></div>
<button>Get External Content</button>

</body>
</html>
4

2 回答 2

1

Chrome 在执行代码时会抛出以下错误:

Origin null is not allowed by Access-Control-Allow-Origin. 

你必须:

  1. 将您的 HTML 代码托管在本地 Web 服务器上,以便可以在以下位置访问它:

    http://localhost/your_directory/index.html

  2. 更新您的代码以加载您的out.txt,放置在您的文件所在的同一文件夹中index.html,就像这样(使用相对路径)...

    $("#div1").load("out.txt");

  3. ...或像这样(使用绝对路径):

    $("#div1").load("http://localhost/your_directory/out.txt");

你完成了!:-)

于 2013-02-27T14:56:30.390 回答
0

好的,您可能在这里遇到的问题似乎与 chrome 和 ajax 请求有关。如果在本地运行 Chrome 尝试将您的代码放在 Web 服务器上,或尝试使用 firefox,Chrome 会引发安全问题。

或者,如果您在 Mac 上,您可以从命令行使用这样的方式打开 chrome,以防止出现安全问题

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --allow-file-access-from-files

如果您搜索“允许从文件 chrome 访问文件”,谷歌上有很多帖子

祝你好运

于 2013-02-27T14:55:50.903 回答