[英]How to set interval for get data from API (jQuery)
我有一个简单的问题:我正在使用此函数从CryptoCompare获取价格,现在我想设置刷新数据的间隔而不刷新页面。 所以我尝试了这段代码:
<script>
getData('dash', 'https://min-api.cryptocompare.com/data/price?fsym=DASH&tsyms=USD');
function getData(prefix, url) {
$.getJSON(url, function(data) {
$.each(data, function(key, val) {
$('.' + prefix + '-' + key.toLowerCase()).html(val);
});
});
}
setInterval(getData, 3000);
$(function() {
getData();
});
</script>
但这对我不起作用。 你能帮我吗?
您有一些复杂的代码。 我认为您打算要每3秒调用一次访存。
function getData(prefix, url) {
$.getJSON(url, function(data) {
$.each(data, function(key, val) {
$('.' + prefix + '-' + key.toLowerCase()).html(val);
});
});
}
这定义了您的功能。 您有一个样品电话
getData('dash', 'https://min-api.cryptocompare.com/data/price?fsym=DASH&tsyms=USD');
但是您使用的setInterval错误,请参阅https://www.w3schools.com/jsref/met_win_setinterval.asp
你这里有两行
setInterval(getData, 3000);
$(function() { getData(); });
这是不正确的,getData只是函数的名称。 setInterval函数应使用具有定义参数的匿名函数,例如
setInterval($(function() {
getData('dash', 'https://min-api.cryptocompare.com/data/price?fsym=DASH&tsyms=USD');
}), 3000);
根据您的JS小提琴,这对我有用(删除了jquery函数,并替换为常规js lambda)
function getData(prefix, url) {
$.getJSON(url, function(data) {
$.each(data, function(key, val) {
$('.' + prefix + '-' + key.toLowerCase()).html(val);
});
});
}
setInterval(function() {
getData('btc', 'https://min-api.cryptocompare.com/data/price?fsym=BTC&tsyms=USD');
}, 3000);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.