循环javascript get请求
我有一个问题 我正在使用一个漂亮的图形库(flot),并在一个页面上绘制多个图形。每个图形都是一个div,具有一个属性集,告诉图形从何处获取数据。例如,HTML可能是:循环javascript get请求,javascript,jquery,json,dry,Javascript,Jquery,Json,Dry,我有一个问题 我正在使用一个漂亮的图形库(flot),并在一个页面上绘制多个图形。每个图形都是一个div,具有一个属性集,告诉图形从何处获取数据。例如,HTML可能是: <div class="line-chart" data-src='/revenue.js'></div> <div class="scatter-chart" data-src='/users/byweek.js'></div> <div class="scatter-ch
<div class="line-chart" data-src='/revenue.js'></div>
<div class="scatter-chart" data-src='/users/byweek.js'></div>
<div class="scatter-chart2" data-src='/apps/byweek.js'></div>
我相信我能把这件事弄清楚,我只是不知道该怎么做。主要问题是,$.plot需要应用于调用getJSON的特定图表,而不是它找到的第一个图表。如果您不确定回调的上下文,那么无论如何不使用该上下文可能会更干净。您可以使用
each()
循环的上下文:
$('.line-chart').each(function() {
var self = $(this);
$.getJSON(self.attr('data-src'),
function(data) {
$.plot(self, [data], { xaxis: { mode: "time" }});
});
});
非常干净。不错,就像我担心的那样简单。这正是我想要的。谢谢
$('.line-chart').each(function() {
var self = $(this);
$.getJSON(self.attr('data-src'),
function(data) {
$.plot(self, [data], { xaxis: { mode: "time" }});
});
});
$(function() {
function plotChart(selector, options) {
$(selector).each(function() {
var $this = $(this);
$.getJSON($this.attr('data-src'), function(data) {
$.plot($this, [data], options);
});
});
}
plotChart('.line-chart', { xaxis: { mode: "time" });
plotChart('.scatter-chart', {
xaxis: {
mode: "time"
},
lines: {
show: false
},
points: {
show: true
});
plotChart('.scatter-chart2', {
xaxis: {
mode: "time"
},
lines: {
show: false
},
points: {
show: true
});
});