jQuery ajax加载方法卡在加载中

时间:2013-03-17 01:36:07

标签: ajax jquery

我在整个网站上搜索过但我找不到任何帮助我的东西,所以这就是:

我有这个html文件,当你点击Get extern时,它应该将extern.html中的内容放入div命名的内容中,但是当你点击它显示加载的链接时就会被卡住了,就是这样。

enter image description here

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>

2 个答案:

答案 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(); 以防你的页面有多个脚本块和库相互冲突。