나는 ebay API에서 일부 데이터 (JSON)를 가져 오는 간단한 웹 응용 프로그램을 작성하고 각 항목의 가격을 보여주는 차트에 결과를 표시합니다. 이것은 잘 작동합니다.JSON 업데이트시 AJAX 호출
그러나 항목이 입찰가를 받거나 예를 들어 완료되면 실시간으로 차트를 업데이트하고 싶습니다. 이 모든 데이터는 eBay에서 반환 된 JSON에 들어 있습니다.
내 문제는 그래프를 업데이트하고 JSON이 변경 될 때 호출하는 아약스를 얻는 방법입니다 (이상적인 방법 일 수 있습니다) 또는 1 - 5 초마다 말할까요? setInterval을에서
$(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);
}
});
});
새 JSON을 요청하지 않고도 eBay의 데이터가 변경되었는지 알 수 없습니다. karaxuna가 제안한대로 유일한 방법은 시간 기준입니다. – bgusach
알겠습니다. 그래서 5 초마다 새로운 json을 확인합니다. 다시로드하지 않고 어떻게 차트에 반영 할 수 있습니까? –
간단합니다. 이전 객체를 저장하고 새 객체가 올 때 중요한 속성이 다른지 확인하고, 그렇지 않은 경우 렌더링하십시오. – bgusach