我在这里看到类似的问题,但我没有找到有关Javascript的任何答案。从另一个网站获取内容
我正在构建一个网站(让我们称之为'A'),并且我想从另一个需要用户名和密码的网站('B')获取内容。 我想在我的网站上获取B处某个页面内容的功能。我总是在我的计算机上手动登录到站点B,因此我不需要该功能来进行登录(所以我将它直接链接到B)信息的正确页面)。 A和B不在同一个域中。 Javascript中有从B获取内容的方法吗?
我在这里看到类似的问题,但我没有找到有关Javascript的任何答案。从另一个网站获取内容
我正在构建一个网站(让我们称之为'A'),并且我想从另一个需要用户名和密码的网站('B')获取内容。 我想在我的网站上获取B处某个页面内容的功能。我总是在我的计算机上手动登录到站点B,因此我不需要该功能来进行登录(所以我将它直接链接到B)信息的正确页面)。 A和B不在同一个域中。 Javascript中有从B获取内容的方法吗?
你需要一个cross-doman AJAX调用(通常由same origin policy阻止)。 jQuery有一个方便的辅助功能此,将返回JSON数据称为$.getJson()
$.getJSON('http://otherdomain/ajax/test.json', function(data) {
if (undefined != data) {
console.log(data);
}
});
这利用已知为JSONP的技术,其写入的Javascript直接进入该文件,使该请求(而不是使用XMLHttpRequest
对象),绕过相同的原产地政策。
我喜欢做的就是使用YQL(雅虎查询语言) 这就像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的例子
那么,只是想知道是否有一种方法可以在纯Javascript中做到这一点,但不要猜测,所以我会开始阅读关于AJAX的内容。谢谢! – Roee84
jQuery是一个使用Javascript编写的库,所以“库”可以作为“纯粹”的对象:) – Andy