我在jQuery中的ajax调用不起作用。这是jsfiddle:http://jsfiddle.net/jefffabiny/czZKM/
我的page2.html文件很简单:
<p>page 2</p>
有没有人看到这个问题?所有错误都是'错误'。
修改 我的jquery位于我的根目录的子文件夹中。 [我的根文件夹(我的索引所在的位置)]&gt;&gt; [my js文件夹(我的jquery所在的位置)]。因此,'../'语法应该是正确的,以便在文件结构中上升一级。我想,哈哈。
答案 0 :(得分:1)
导致错误是因为找不到page2.html。
getContent('../page2.html');
这条线是杯子。
我认为路径不正确。
对于jsFiddle,您需要提供绝对路径(http://www.example.com/page2.html)
答案 1 :(得分: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>
答案 2 :(得分:0)
尝试像下面一样调用getContent:
getContent('/page2.html');
它将假定该文件位于根目录中。
答案 3 :(得分: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>
test.js:
$.ajax({ url: '../page2.html',
success: function(resp) { $('body').append(resp); }
});
的test.html:
<html>
<body></body>
</html>
test.html(在AJAX调用之后):
<html>
<body><p>page 2 content</p></body>
</html>
答案 4 :(得分:-1)
ajax调用不能引用相对路径(即'../'),它必须是绝对的(即'http://localhost/page2.html')。