我正在为另一个网站创建一个视图成员屏幕(不在我的域中)。我试图根据他们的课程从这个网站上检索某些东西。例如,我试图获得具有.avatar类的人的化身。我试过了:
$('#accountPic').load('www.theWebsite.com .avatar');
尝试获取图片链接,但这不起作用。有没有办法从其他网站获取课程内容并自行显示?
答案 0 :(得分:2)
由于Same Origin Policy,这不能通过客户端javascript工作。假设您尝试从中获取信息的站点没有用于外部访问的API,那么解决方法是使用PHP / ASP.Net等获取HTML服务器端,然后通过AJAX请求。
答案 1 :(得分:0)
第一步是检索外部网站的完整HTML文档。这本身就很可能会让你陷入无法解决的问题(因为浏览器安全限制)。
作为一个安全问题原因的一个例子:如果somebank.com在主页上有“欢迎回来,Jonathan T. Query!你当前的余额是4000美元。”然后其他网站可以检索该文本,并将其发送给谁知道在哪里。
如果网站有一个开发人员API来从中检索信息,您可以使用它。我知道在网站之间共享头像是OpenID项目的现实目标。如果没有,我认为您的问题可能无法解决。
答案 2 :(得分:0)
如果目标主机提供跨源访问,您可以这样做:
$.ajax({
url: 'http://www.theWebsite.com',
complete: function(jqXHR) {
var doc = $(jqXHR.responseText);
var avatar = doc.find('.avatar');
// ...
}
});