0

我在 jQuery 中的 ajax 调用不起作用。这是jsfiddle:http: //jsfiddle.net/jefffabiny/czZKM/

我的 page2.html 文件很简单:

<p>page 2</p>

有没有人看到问题?所有错误都说是“错误”。

编辑 我的 jquery 在我的根目录的子文件夹中。[我的根文件夹(我的索引所在的位置)] >> [我的 js 文件夹(我的 jquery 所在的位置)]。因此,'../' 语法对于在文件结构中上一级应该是正确的。我想,呵呵。

4

5 回答 5

1

该错误是因为找不到 page2.html 引起的。

getContent('../page2.html');

这条线是cuplrit。

我假设路径不正确。

对于 jsFiddle,您需要提供绝对路径 (http://www.example.com/page2.html)

于 2012-06-22T14:50:08.770 回答
0

OP:不要太纠结于同源策略和 jsFiddle 问题。

检查呼叫是否在本地工作。以下代码将起作用(显然替换C:\为您的本地驱动器或根文件夹):

C:\test\page2.html
C:\test\subdir\test.js
C:\test\subdir\test.html

page2.html

<p>page 2 content</p>

测试.js:

$.ajax({ url: '../page2.html',  
         success: function(resp) { $('body').append(resp); } 
});

测试.html:

<html>
<body></body>
</html>

test.html(在 AJAX 调用之后):

<html>
<body><p>page 2 content</p></body>
</html>
于 2012-06-22T16:35:54.303 回答
0

您的路径可能不存在。查看 FireBug 网络选项卡或 Chrome,看看您是否收到 404。此外,我建议使用内置的 jQuery 函数,它可以非常简洁地完成您正在寻找的内容:

<p class="test"><a href="#">I will load text on click.</a></p>
<div class="contentArea">test</div>

<script type="text/javascript">
$('.contentArea').load('../page2.html');
</script>
于 2012-06-22T14:56:45.567 回答
0

尝试像下面这样调用 getContent:

getContent('/page2.html');

它将假定该文件位于根目录中。

于 2012-06-22T14:58:41.487 回答
-1

ajax 调用不能引用相对路径(即'../'),它必须是绝对路径(即'http://localhost/page2.html')。

于 2012-06-22T15:10:27.190 回答