显示来自jsonp的特定div动态返回whateverorigin.org

时间:2014-07-28 19:41:35

标签: jquery html ajax cross-domain jsonp

我需要获取有关某些网站的whois信息并将其显示在我的网站上。 我设法实现它,但它不是一个简单的方法,我认为它可以以更好的方式做到这一点。这就是我做的方式

因为我需要http://megaanswers.com/的whois信息所以在whateverorigin.org我得到了jsonp请求,如下http://whateverorigin.org/get?url=http%3A%2F%2Fwww.domaininformation.de%2Fwhois%2Fmegaanswers.com(在encodeURIComponent之后),但这包含整个页面,但我只需要部分class =“result”中的页面。

现在data.contents将提供整个页面的html代码。并且这个html代码使用jquery附加到id =“target”的div,并且div被赋予style =“display:none;”,因此div不会显示在页面上。现在使用jquery选择具有类结果的元素,并将其html附加到id为“realtarget”的div

这是最终代码的样子

<div id="target" style="display:none;"></div>
<div id="realtarget"></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;
        $('#target').html(thecontents);

        var required = $('.result').html();
        $('#realtarget').html("<pre>" + required + "</pre>");

});

</script>

但是,如果不首先将整个页面的html代码附加到id =“target”的div,然后选择所需的class =“result”(直接选择class =“result”),是否可以这样做。 任何帮助表示赞赏

1 个答案:

答案 0 :(得分:0)

使用jquery,您可以选择元素到变量中。 (但不要编辑): 试试这个:

function(data) {
     var thecontents = data.contents;
     var required = $('.result', thecontents).html(); // select '.result' class in 'thecontents'
     $('#realtarget').html("<pre>" + required + "</pre>");
});

演示:http://jsfiddle.net/f97WG/2/