从其他网站获取内容

时间:2011-06-18 12:08:59

标签: javascript

我在这里看到类似的问题,但我没有找到任何关于Javascript的答案。

我正在建立一个网站(我们称之为'A'),我想从另一个需要用户名和密码的网站('B')获取内容。 我想在我的网站上获取一个功能,从B处的某个页面获取内容。我总是在我的计算机上手动登录到站点B,所以我不需要该功能来登录(所以我将它直接链接到正确的B)信息页面。 A和B不在同一个域中。 Javascript中有没有办法从B获取内容?

3 个答案:

答案 0 :(得分:5)

你需要一个跨doman AJAX调用(通常由same origin policy阻止)。 jQuery有一个方便的辅助函数,它将返回名为$.getJson()

的JSON数据
$.getJSON('http://otherdomain/ajax/test.json', function(data) {
  if (undefined != data) {
    console.log(data);
  }
});

这利用了一种称为JSONP的技术,它将Javascript直接写入文档以发出请求(而不是使用XMLHttpRequest对象),绕过相同的原始策略。

答案 1 :(得分:2)

我喜欢做的是使用YQL(Yahoo Query Language) 这就像是api的api。我使用选择器得到了我想要的任何html并处理它。 例如,我可以使用类似的查询从this wikipedia link获取所有图像 SELECT * FROM html WHERE url="http://en.wikipedia.org/wiki/List_of_United_States_National_Parks_by_state" AND xpath="//img"然后处理返回的XML / JSON

您可以测试查询HERE

并查看抓取和处理图片in this Fiddle

的示例

答案 2 :(得分:0)

没有办法使用纯B从外部javascript页面获取内容,但您可以尝试使用php curlfile_get_contents