非常简单的Ajax问题

时间:2010-12-13 01:11:26

标签: javascript jquery ajax

我只是在学习JQuery并且在我的网站上成功运行了一些脚本。直到我知道JQuery for nitwits的书叫Ajax。我正在尝试这个非常简单的脚本

<div class="menu">
<script>
$(function(){
$('div').load('mytext.txt');
});
</script>

<div id="here"> </div>
</div>

我在JQuery工作正常的页面上试过这个,所以我知道我链接到google的工作。我尝试过像这样的几个小脚本,在任何情况下都无法让它们工作。 Mytext.txt与脚本的php文件位于同一目录中。为了使.load工作,你必须使用一些神奇的词吗?

我试过了

$('div#here').load('mytext.txt');

无济于事。特别值得注意的是,这是在一个codeigniter站点上,但这并不重要,因为我正在调用独立于控制器的ajax,并直接从视图中调用任何其他JQuery调用。

这应该是世界上最简单的事情。为什么我不能做任何事来让.load工作? 感谢

3 个答案:

答案 0 :(得分:2)

尝试使用启用了Firebug的Firefox运行您的页面;并观察NET / HTTP流量。

我的猜测是存在相对路径问题;但Firebug应该为您提供更详细的信息,说明在请求mytext.txt时确切的错误。

答案 1 :(得分:1)

这应该按照你给出的方式工作 - 在这里看一个工作的jsfiddle:

我唯一能想到的就是检查文件的路径(也许它应该是/mytext.txt,即前面有一个斜杠)。此外,您可以在浏览器中打开文件,即浏览到www.yoursite.com/mytext.txt

作为旁注,<script>代码通常应转到HTML中的<head>元素。

答案 2 :(得分:1)

以下代码段在我的Linux托管环境中正常运行。这两个文件(so.html和mytext.txt都位于文档根目录中。)我想知道如果不使用脚本标记指定“type”属性会导致一些问题。您还要确保同样限定div选择器:$('div#here')。load ...而不是$('div')。load ...

文件= /so.html

<!DOCTYPE html>
<html>
<head>
<title>Stackoverflow is Awesome</title>
<script
  type="text/javascript"
  src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js">
</script>
</head>
<body>
<div class="menu">
  <div id="here"></div>
</div>
<script type="text/javascript">
  $(function(){
    $('div#here').load('mytext.txt');
  });
</script>
</body>
</html>

File = /mytext.txt

你好mytext.txt !!!!!