您需要将数据存储在数组中,然后在每次 ajax 调用中将新数据推送到数组中。
这是一个简单的演示,使用按钮以 3 秒的间隔启动 AJAX 更新:
/* store empty array or array of original data to plot on page load */
var storedData = [3, 7];
/* initialize plot*/
var plot1;
renderGraph();
$('button').click( function(){
doUpdate();
$(this).hide();
});
function renderGraph() {
if (plot1) {
plot1.destroy();
}
plot1 = $.jqplot('chart1', [storedData]);
}
/* sample data for demo*/
var newData = [9, 1, 4, 6, 8, 2, 5];
function doUpdate() {
if (newData.length) {
/* used to pull new number from sample data for demo*/
var val = newData.shift();
$.post('/echo/html/', {
html: val
}, function(response) {
var newVal = new Number(response); /* update storedData array*/
storedData.push(newVal);
renderGraph();
setTimeout(doUpdate, 3000)
})
} else {
alert("All Done")
}
}
演示:http: //jsfiddle.net/ZqCXP/