我在 jQuery 中的 ajax 调用不起作用。这是jsfiddle:http: //jsfiddle.net/jefffabiny/czZKM/
我的 page2.html 文件很简单:
<p>page 2</p>
有没有人看到问题?所有错误都说是“错误”。
编辑 我的 jquery 在我的根目录的子文件夹中。[我的根文件夹(我的索引所在的位置)] >> [我的 js 文件夹(我的 jquery 所在的位置)]。因此,'../' 语法对于在文件结构中上一级应该是正确的。我想,呵呵。
我在 jQuery 中的 ajax 调用不起作用。这是jsfiddle:http: //jsfiddle.net/jefffabiny/czZKM/
我的 page2.html 文件很简单:
<p>page 2</p>
有没有人看到问题?所有错误都说是“错误”。
编辑 我的 jquery 在我的根目录的子文件夹中。[我的根文件夹(我的索引所在的位置)] >> [我的 js 文件夹(我的 jquery 所在的位置)]。因此,'../' 语法对于在文件结构中上一级应该是正确的。我想,呵呵。
该错误是因为找不到 page2.html 引起的。
getContent('../page2.html');
这条线是cuplrit。
我假设路径不正确。
对于 jsFiddle,您需要提供绝对路径 (http://www.example.com/page2.html)
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>
您的路径可能不存在。查看 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>
尝试像下面这样调用 getContent:
getContent('/page2.html');
它将假定该文件位于根目录中。
ajax 调用不能引用相对路径(即'../'),它必须是绝对路径(即'http://localhost/page2.html')。