此请求是否可以逐个或id地指定内容。这段代码是:
$.getJSON('http://whateverorigin.org/get?url=' +
encodeURIComponent('http://google.com') + '&callback=?',
function(data){
$("#content").html(data.contents);
});
答案 0 :(得分:1)
我遇到了同样的问题,这就是我做到的。
我需要获取有关某些网站的whois信息并将其显示在我的网站上。
因为我需要http://megaanswers.com/的whois信息,可以在www.domaininformation.de/whois/megaanswers.com上找到,所以在whateverorigin.org我得到了jsonp请求,如下http://whateverorigin.org/get?url=http%3A%2F%2Fwww.domaininformation.de%2Fwhois%2Fmegaanswers.com (在encodeURIComponent之后)但这包含整个页面,但我只需要在class ="结果"中的页面部分。
现在data.contents将提供整个页面的html代码。现在使用jquery选择具有类结果的元素,并将其html附加到具有id =" target"
的div中这是最终代码的样子
<div id="target"></div>
<script>
$.ajaxSetup({
scriptCharset: "utf-8", //maybe "ISO-8859-1"
contentType: "application/json; charset=utf-8"});
$.getJSON('http://whateverorigin.org/get?url=' +
encodeURIComponent('http://www.domaininformation.de/whois/megaanswers.com') + '&callback=?',
function(data) {
var thecontents = data.contents;
var required = $('.result', thecontents).html(); // select '.result' class in 'thecontents'
$('#target').html("<pre>" + required + "</pre>");
});
</script>
希望这有帮助
答案 1 :(得分:0)
由于同源策略
,您无法执行此操作所有现代网络浏览器都对网络连接施加了安全限制
您可以尝试使用代理,请查看此文档http://developer.yahoo.com/javascript/howto-proxy.html
答案 2 :(得分:0)
您可以通过几种解决方案,并在实现目标的过程中遇到几个障碍。主要障碍是Access-Origin
安全限制。
首先解决方案是使用或创建服务器端API,它可以是Java servlet,C#Handler或服务器中的PHP文件。如果您无法访问其他服务器以修改其标头并添加Access-Origin
标头,则此功能非常有用。此API将充当代理。在此解决方案中,您可以在API中更具体,并使用一些参数来加载其他网址内容的特定部分,无论它是否具有html或JSON内容。
另一种方法是将Access-Origin
标头添加到服务器,并允许某些特定网址访问该网址的内容,而不会遇到安全限制,这需要您拥有访问服务器。然后,如果你想过滤内容,你应该使用JavaScript。
如果您有权访问服务器,另一种方法是向服务器添加JSONP
支持,这基本上是我们通常绕过Access-Origin
安全限制的方式。