通过JQuery获取另一个webage的html源/文本

时间:2011-10-24 23:11:57

标签: javascript jquery html

是否可以:

  • 从我的网页中,从其他网页获取所有HTML源代码。我需要这样做才能将其他页面的html源传递给我的函数。

以下不同的尝试不起作用:

var html = $.get("http://simplyrecipes.com/recipes/braised_turkey_legs/").html();
var html = $.get("http://simplyrecipes.com/recipes/braised_turkey_legs/");
var html = $("http://simplyrecipes.com/recipes/braised_turkey_legs/").html();

3 个答案:

答案 0 :(得分:1)

使用Ajax,get只是ajax的一个快捷方式,如果那是你想要做的事情,它真的不可能从其他域获取源html吗?因为出于安全原因,ajax具有相同的原始政策。

然而,通过YQL可以做到的是,阅读this以了解如何,或者您可以使用php或其他方式代理,只需定期获取请求,但这是不可行的。

如果您尝试获取的网页位于您的域中,.load();可能会更好。

答案 1 :(得分:1)

Javascript有same origin policy,这就是阻碍你的行为。

答案 2 :(得分:0)

jQuery的get函数不返回加载的数据 - 而是调用回调函数并将数据作为参数传递。

这来自documentation

$.get('ajax/test.html', function(data) {
  $('.result').html(data);
  alert('Load was performed.');
});

P.S。:请注意,在任何情况下,这只能在同一个域上运行,因为出于安全原因,通常不支持跨域AJAX。