每当我点击链接时,我都会使用此代码作为抓取另一个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&amp; Opera,每当我点击链接时,都没有任何反应,与HTML文件的内容无关。可能是我的代码不兼容?
老实说,我从这里得到了这个代码: Javascript wont load into ajax div
我不完全了解($(this).attr('href'));
的工作原理,但了解在#page
加载HTML应该是正确的。
答案 0 :(得分:1)
您的代码没有问题我的朋友在mozilla上尝试而不是Chrome它不能用于Chrome,因为
由于同源策略,您无法访问同一域中的网址。 由于源(源)页面和目标URL位于不同的域,您的代码实际上是在尝试发出跨域(CORS)请求,而不是普通的GET 简单来说:对于localhost和从同一个域获取页面你可以; t访问文件
答案 1 :(得分:0)
$(this).attr('href')只是从锚点获取'href'属性(在本例中为'RS.html')
你应该通过添加一些breakpoints / console.log语句来调试你的代码,以找出它不起作用的点(点击事件至少应该触发),我看不出Chrome会有任何不同的行为。< / p>