我构建了一个简单的 Web 应用程序,它从 eBay API 获取一些数据 (JSON),并将结果绘制到显示每个商品价格的图表上。这效果很好。
但是,例如,如果某个项目获得出价或完成,我希望图表能够实时更新。所有这些数据都包含在从 eBay 返回的 JSON 中。
我的问题是如何让图表更新并在 JSON 更改时调用 ajax(这将是理想的方法)或每隔 1 - 5 秒调用一次?
$(function() {
$.ajax({
type: "GET",
url: 'http://open.api.ebay.com/shopping?callname=GetMultipleItems&responseencoding=JSON&appid=&siteid=3&ItemID=350720045158,390524810753,251237014268,200902751277,140927144371&version=811',
dataType: "jsonp",
jsonp: "callbackname",
crossDomain : true,
data: { },
success: function (result) {
arrayOfData = new Array();
var items = result['Item'];
$.each(items, function(i, item) {
var title = items[i]['Title'];
var price = items[i]['ConvertedCurrentPrice']['Value'];
var timeleft = items[i]['TimeLeft'];
arrayOfData.push(['400', title + '<br/><br />' + timeleft]);
});
$('#graph').jqBarGraph({
data: arrayOfData,
height: 800,
width: 1200,
barSpace: 20,
colors: ['#085497','#74b3ea'],
prefix: '£'
});
},
error: function (data) {
console.log(arguments);
}
});
});
最佳答案
将ajax请求放入setInterval中:
setInterval(function(){
//ajax request here
}, 5 * 1000);
关于javascript - JSON 更改时如何更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15277756/