2013-03-17 65 views
-2

stucked我已经找遍了网站,但我无法找到任何东西,帮助我,所以这里是:jQuery的ajax的load方法装载

我有这个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> 

回答

1

我的猜测是,你试图加载外部网页,但它被阻塞在同您的浏览器中的原始策略。如果没有,有一个快速的方法来调试。

1)我的最爱是使用Chrome开发人员面板(通过按F12打开)。转到网络标签,并尝试通过您的jQuery加载外部页面。然后,您可以观看网络活动,看看是否有错误出现。

2)User $ .ajax而不是$ .load。看到这里有更多的选择:JQuery error option in $.ajax utility

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

希望这有助于!

+1

由于href有一个相对的URL,它不会是SOP。 – Musa 2013-03-17 02:14:07

+0

@Musa确实。我没有注意到我第一次阅读它......但它并不真正影响这两个建议。谢谢! – Steven 2013-03-17 02:40:47

0

通常这个'正在加载'当脚本没有成功执行或出现一些逻辑/语法错误时出现。我假设你用萤火虫验证了你的脚本,我建议你用$ .noConfllict();如果您的页面有多个脚本块和库彼此冲突,则为