jQuery ajax load method stucked in loading
我搜索了整个网站,但找不到任何帮助我的东西,所以这里是:
我有一个HTML文件,当你点击get extern时,它应该把extern.html中的内容放到名为content的DIV中,但是当你点击链接时,它显示正在加载,就是这样。
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();以防您的页面有多个脚本块和库相互冲突。