我想要来自其他域名的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中显示?
答案 0 :(得分:1)
在执行JSON-P时,jQuery会为您创建必要的回调函数,确保名称尚未使用等等。例如,它可以管理。
所以它可以做到这一点,让jQuery控制回调函数的名称。在您的查询字符串中,更改
&callback=cbFunc
到
&callback=?
jQuery将替换它创建的回调名称。
Live Example | Live Source(字面意思就是上面提到的更改中你的问题)