1

我想要来自其他域的 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 进行调试..在运行此页面后,我确实得到了 JSON 和来自上述站点的所有 html 的响应结果。

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

4

1 回答 1

1

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

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

&callback=cbFunc

&callback=?

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

实例| 实时源(字面意思是您的问题与上述更改有关)

于 2013-08-04T13:36:04.517 回答