getJSON从跨域获取html

时间:2013-08-04 13:30:16

标签: jquery json jsonp getjson

我想要来自其他域名的html,所以我使用$ .getJson来获取HTML,但我遇到了一些问题。

我使用的代码是

 var site = "www.moneycontrol.com";
        var yql_url = 'http://query.yahooapis.com/v1/public/yql?q=' + encodeURIComponent('select * from html where url="' + site + '"') + '&format=xml&callback=cbFunc';
        $.getJSON(yql_url, function (json) {
            $('#CurrencyData').html(json.results[0]);
        });

在jquery的document.ready里面。 并在HTML中我有一个div

<div id="CurrencyData">
    </div>

当我运行此代码时,我的本地主机上没有显示任何内容,但如果我使用firebug进行调试..运行此页面后,我会从上面的网站获取所有html的JSON和响应结果。

现在我想知道我是否在JSON中获取数据,然后为什么它没有在div中显示?

1 个答案:

答案 0 :(得分:1)

在执行JSON-P时,jQuery会为您创建必要的回调函数,确保名称尚未使用等等。例如,它可以管理。

所以它可以做到这一点,让jQuery控制回调函数的名称。在您的查询字符串中,更改

&callback=cbFunc

&callback=?

jQuery将替换它创建的回调名称。

Live Example | Live Source(字面意思就是上面提到的更改中你的问题)