我正在尝试将财务数据合并到我的网站中(只是初学者) 我关注了一部 YouTube 纪录片,该纪录片使用一些 Java 脚本从本地计算机而不是服务器进行查询。
该脚本应该返回 4 种不同股票的每日价格变化并显示它们。
一开始它似乎有效,但现在我发现它只返回一些价格(或偶尔没有),当我刷新时,它可能会显示不同的变化,但不会同时显示所有 4 个价格?
这是 HTML 和 Javascript
<script type="text/javascript">
var Base_URL = 'https://query.yahooapis.com/v1/public/yql?q=';
var yql_query = 'select * from yahoo.finance.quote where symbol in ("YHOO","AAPL","GOOG","MSFT")';
var yql_query_str = encodeURI(Base_URL+yql_query);
var query_str_final = yql_query_str + '&format=json&diagnostics=true&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys';
$.getJSON(query_str_final, function(data){ console.log(data);
var changeValue = data.query.results.quote[0].Change;
console.log(changeValue);
document.getElementById("change").innerHTML = " Yahoo = " + changeValue; });
$.getJSON(query_str_final, function(data){ console.log(data);
var changeValue = data.query.results.quote[1].Change;
console.log(changeValue);
document.getElementById("change1").innerHTML = " Apple = " + changeValue; });
$.getJSON(query_str_final, function(data){ console.log(data);
var changeValue = data.query.results.quote[2].Change;
console.log(changeValue);
document.getElementById("change2").innerHTML = " Google = " + changeValue; });
$.getJSON(query_str_final, function(data){ console.log(data);
var changeValue = data.query.results.quote[3].Change;
console.log(changeValue);
document.getElementById("change3").innerHTML = " Microsoft = " + changeValue; });
</script>
有什么想法吗?
最佳答案
尝试这样的操作,其中每个的 changeValue
即 1,2,3 等
都有一个稍微不同的变量名称,并且在该过程完成时完成 html 更改.
$.getJSON(query_str_final, function(data){ console.log(data);
changeValue1 = data.query.results.quote[1].Change;
console.log(changeValue);
}).done(function(){
document.getElementById("change1").innerHTML = " Apple = " +
changeValue1;});
注意:这使得 changValue1 变量成为全局变量,这不是最好的,但仅用于测试。
关于javascript - 使用Javascript的YQL财务数据每次都不返回所有查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46045262/