为什么我不能使用jQuery .load方法加载Flickr.com?

时间:2010-12-02 09:39:09

标签: jquery ajax load cross-domain

我的HTML代码是:

<!DOCTYPE html>
<meta charset="utf-8">
<title>Untitled Document</title>
<script src="http://code.jquery.com/jquery-1.4.4.min.js"></script>
<div id="abc"></div>
<script>
    $('#abc').load('http://www.flickr.com/');
</script>

但是,没什么。

错误在哪里?

谢谢!

3 个答案:

答案 0 :(得分:4)

.load()函数使用AJAX。 AJAX不能跨域工作,这就是它无法正常工作的原因。

但是,您可以使用JSONP来检索Flickr数据:http://api.jquery.com/jQuery.getJSON/

答案 1 :(得分:1)

除非使用JSON函数,否则无法通过jQuery加载外部站点(不同的域)。

答案 2 :(得分:0)

如前所述,您不能将load函数用于您自己域之外的网页。但你可以使用iframe代替:

<iframe id="abc"></iframe>
<script language="javascript" type="text/javascript">
  $('#abc').attr('src', 'http://www.flickr.com');
</script>