我编写了一些代码,使用Ajax从数据库中提取数据,然后将数据传递给创建图表的Highcharts函数。确切地说,我有CouchDB,我在其中上传数据,而不是创建按参数对数据进行排序的视图,然后为每个视图创建图表。定义发射函数,以便将数据返回为(日期,值)。
下一步是,我要实现一些按钮,通过按可以按日期过滤所有数据。在对问题进行搜索之后,我发现保留数据是一种可能,但是问题是,它首先收集了所有数据,然后您才可以从拥有的数据中获取数据。如果数据库很大,那不是最好的情况。
我想反过来做,例如首先通过过滤器,然后获取数据。所以我相信我需要使用startKey和endKey配置我的AjaxCalls。
function call() {
$.ajax({
url:pathToView,
type:'get',
dataType:'json',
cache:false,
success:function (data) {
createChart(data);
},
});
}
为澄清起见,我在此处省略了一些与问题无关的行。函数createChart是另一个调用HighChart的函数。作为参数提供的“数据”来自格式([日期,值],[日期,值] ..),并且在
中使用Highcharts.chart {...系列:[{data:data}]}
所以直到这里一切都在我的代码中起作用。
现在是问题所在。我对这个问题的想法是定义var filter = null;
,然后按某个按钮以从表单?startkey=[]&endkey[]
传递一些值。然后将其添加为url:pathToView+filter,
我的按钮的定义方式:
<input type="button" id="b1" value="Click Me" />
$('#b1').click(function(){
filter ="?startkey[1514764800]&endkey[1517270400]";
});
我希望它只会给我1月份的结果,但是它什么也没有显示。