Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 非常简单的Ajax问题_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript 非常简单的Ajax问题

Javascript 非常简单的Ajax问题,javascript,jquery,ajax,Javascript,Jquery,Ajax,我正在学习JQuery,并且有一些脚本在我的站点上成功运行。直到我了解到jqueryfornitwits的书中称之为Ajax的东西。我正在尝试做这个非常简单的脚本 <div class="menu"> <script> $(function(){ $('div').load('mytext.txt'); }); </script> <div id="here"> </div> </div> 无济于事。需要特别注意的是,这

我正在学习JQuery,并且有一些脚本在我的站点上成功运行。直到我了解到jqueryfornitwits的书中称之为Ajax的东西。我正在尝试做这个非常简单的脚本

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

<div id="here"> </div>
</div>
无济于事。需要特别注意的是,这是在codeigniter站点上,但这并不重要,因为我调用ajax独立于控制器,与其他JQuery调用一样,直接从视图调用ajax

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

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


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

这应该按照您提供的思路进行操作-请参阅此处的工作JSFIDLE:

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


作为旁注,
标记通常应该转到HTML中的
元素。

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

File=/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>

Stackoverflow太棒了
$(函数(){
$('div#here').load('mytext.txt');
});
File=/mytext.txt


您好,来自mytext.txt

你能从浏览器中访问mytext.txt吗?我将尝试使用php include来获取它。我得到的消息是$(函数未定义,并且没有调用mytext.txt文件。我正在使用“确定”获取未找到的mytext.txt。让我移动它around@brad,这当然是一个路径问题。浏览器处理相对路径的方式不同(grrr)。要确认这一点,请首先尝试文本文件的绝对url(根“/serverroot/path/To/text.txt”)。解决方法是使用根路径(解决方案不好,不可移植,使部署变得复杂),或者找出为什么您的相对路径在所有浏览器中的工作方式都不相同(需要发布目录结构)或者使用js浏览器嗅探黑客调整url(闻起来像一周前的金枪鱼罐头)天空我找到了它,因为某种原因它无法识别文件在同一个目录中。所以我将它从codeigniter目录移到根目录,它工作得很好。这只是我的第一次(也是最后一次)努力使用ajax。你是对的,它与路径有关。我相信代码是好的。但是Chrome和firefox firebug告诉我文件找不到。还有firefox告诉我$document ready没有定义。我将处理文件位置并将文件重命名为html文件。因为这是codigniter,我想我需要找到它We’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’弄清楚这有什么关系。感谢你们大家,你们是伟大的人,很高兴能提供帮助!无论如何,如果只是路径,那么,根据您的设置,您应该能够使用整个路径(使用文件的旧位置)获得它例如,如果文件位于
public\u html/a/b/c/mytext.txt
,您应该能够使用
/a/b/c/mytext.txt
访问它(您可以在浏览器中进行检查)。
<!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>