jQuery ajax加载方法卡在加载中

jQuery ajax load method stucked in loading

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

我有一个HTML文件,当你点击get extern时,它应该把extern.html中的内容放到名为content的DIV中,但是当你点击链接时,它显示正在加载,就是这样。

enter image description here

HTML文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<script type="text/javascript" src="jquery-1.9.1.js">
<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;
  });
});
-->
</head>
<body>
Web page test.html
Get extern
Initial content in test.html

extern.html文件

1
2
3
4
Content in extern.html
<p>
Some text content in extern.html
</p>


我的猜测是,你试图加载一个外部网页,但它会被你的浏览器中相同的源站策略阻止。如果没有,有一种快速的调试方法。

1)我最喜欢使用Chrome开发者面板(按F12打开)。转到"网络"选项卡,尝试通过jquery加载外部页面。然后您可以观察网络活动,查看是否出现任何错误。

2)用户$.Ajax而不是$.Load。有关更多选项,请参见此处:.ajax实用程序中的jquery错误选项。

如果问题确实是相同的域策略,请查看jquery的jsonp功能。这里有一个例子:http://www.jquery4u.com/json/jsonp-examples/

希望这有帮助!


通常,当脚本未成功执行或出现某些逻辑/语法错误时,会出现此"加载"。我假设您使用firebug验证了您的脚本,我建议您使用$.noconflict();以防您的页面有多个脚本块和库相互冲突。