我在整个网站上搜索过但我找不到任何帮助我的东西,所以这就是:
我有这个html文件,当你点击Get extern时,它应该将extern.html中的内容放入div命名的内容中,但是当你点击它显示加载的链接时就会被卡住了,就是这样。
test.html文件
<script type="text/javascript" src="jquery-1.9.1.js"></script>
<script type="text/javascript"><!--
$(document).ready(function() {
// select all the links with class="lnk", when one of them is clicked, get its "href" value
// adds a "loading..." notification, load the content from that URL and
// place only the paragraph which is in the #cnt into the tag with id="content"
$('a.lnk').click(function() {
var url = $(this).attr('href');
$('#content').html('<h4>Loading...</h4>').load(url+ ' #cnt p');
return false;
});
});
--></script>
</head>
<body>
<h1>Web page test.html</h1>
<a href="extern.html" title="Get extern" class="lnk">Get extern</a>
<div id="content">Initial content in test.html</div>
extern.html文件
<h2>Content in extern.html</h2>
<div id="cnt"><p>Some text content in extern.html</p></div>
答案 0 :(得分:1)
我的猜测是您尝试加载外部网页,但它被浏览器中的相同原始政策阻止。如果没有,可以通过快速方式对其进行调试。
1)我最喜欢的是使用Chrome开发人员面板(按F12打开)。转到网络选项卡,尝试通过jQuery加载外部页面。然后,您可以观看网络活动,看看是否出现任何错误。
2)用户$ .ajax而不是$ .load。有关更多选项,请参阅此处:JQuery error option in $.ajax utility
如果问题确实是相同的域策略,请查看jQuery的JSONP功能。这里有一个例子:http://www.jquery4u.com/json/jsonp-examples/
希望这有帮助!
答案 1 :(得分:0)
通常,当脚本未成功执行或发生某些逻辑/语法错误时,会出现'Loading'。我假设你用firebug验证了你的脚本,我建议你检查 $ .noConfllict(); 以防你的页面有多个脚本块和库相互冲突。