【发布时间】:2014-03-15 22:32:23
【问题描述】:
我使用此代码作为一个简单的示例来获取另一个 HTML 文件的内容并将其放入 div 中,每当我单击链接时。它在 Firefox 和 Safari 中运行良好,但在 Chrome、IE 或 Opera 中却不行。
<a class="ajaxLink" href="RS.html">Click to load RS content</a>
<div id="page">
Initial TEXT - will be substituted with RS when clicking ajaxLink
</div>
<script>
$(function () {
$('a.ajaxLink').click(function(e) {
e.preventDefault();
$('#page').load($(this).attr('href'));
});
});
</script>
在 Chrome、IE 和 Opera 中,每当我单击链接时,什么都不会发生,与 HTML 文件的内容无关。可能是我的代码不兼容?
说实话,我从这里得到了这段代码: Javascript wont load into ajax div
我不完全理解 ($(this).attr('href')); 的工作原理,但知道在 #page 中加载 HTML 应该是正确的。
【问题讨论】:
-
代码看起来不错。在浏览器的开发工具(例如 Firebug、Dragonfly 等)的网络选项卡中跟踪请求,看看它是否可以正常加载内容。还要检查控制台是否有错误。
-
也许事件监听器根本没有被注册为锚点。注册正在使用 $(document).ready(function(){$('a.ajaxLink').click(function(e) { e.preventDefault(); $('#page').load($(this) .attr('href')); });});,因为脚本可能在 dom 准备好之前加载。
-
你很快 :) - 我刚刚在 Chrome 控制台中找到了这个:' OPTIONS file:///G:/WEBSITE/TEST-2014-01/RS.html 没有'访问-Control-Allow-Origin' 标头存在于请求的资源上。因此不允许访问 Origin 'null'。 jquery-1.11.0.min.js:4 XMLHttpRequest 无法加载文件:///G:/WEBSITE/TEST-2014-01 /RS.html。请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,Origin 'null' 不允许访问。 ajax-main.html:1` --- 我不明白
-
我的硬盘上本地有 2 个涉及的 html 文件,位于同一文件夹中。所以我想知道为什么有些浏览器不允许它,以及我必须在哪里添加一些东西才能访问..
标签: jquery google-chrome click