gpt4 book ai didi

javascript - jQuery 请求和 d3.js 之间的范围问题

转载 作者:行者123 更新时间:2023-11-28 19:57:44 24 4
gpt4 key购买 nike

我正在努力解决范围问题。
基本上,我正在使用 jQuery 的 $.getJSON() 发出 API 请求然后我打算使用该结果用D3.js绘制图表。

var url = 'http://query.yahooapis.com/v1/public/yql';
var startDate = '2013-09-06';
var endDate = '2014-03-06';
var req = encodeURIComponent('select * from yahoo.finance.historicaldata where symbol in ("YHOO") and startDate = "' + startDate + '" and endDate = "' + endDate + '"');

var dd = $.getJSON(url, 'q=' + req + "&env=http%3A%2F%2Fdatatables.org%2Falltables.env&format=json", function(data) {
console.log(data);
console.log(data.query.results.quote[0]);
});

console.log("lol"); //works fine
console.log(data); //doesn't work
console.log(dd); //works
console.log(dd.data); //doesn't work

我很困惑。如何在 d3.js 中使用查询结果?

非常感谢

最佳答案

$.getJSON 是异步的。这意味着当您执行代码时,它会发送请求。然后执行下面的代码——还没有返回任何结果。当请求返回时,将使用数据调用处理函数。您需要在这里对数据执行您想要执行的所有操作。

$.getJSON(url, function(data) {
// make graph
});

请注意,D3 提供了自己的用于检索 JSON 的函数:

d3.json(url, function(error, data) {
// make graph
});

关于javascript - jQuery 请求和 d3.js 之间的范围问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22232973/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com