Я написал некоторый код, который извлекает данные из базы данных с использованием Ajax, а затем я передаю данные в функцию Highcharts, которая создает мои диаграммы.Если быть точным, у меня есть CouchDB, куда я загружаю свои данные, затем я создал представления, которые сортируют меня по данным по параметрам, а затем я создаю диаграмму для каждого представления.Функция Emit определена так, что возвращает данные как (дата, значение).
Следующим шагом я хочу реализовать кнопки, которые нажатием будут фильтровать все данные по дате.После гугл-проблемы я обнаружил, что ранжировать данные - это одна из возможностей, но проблема в том, что он сначала собирает все данные, а затем вы можете ранжировать то, что у вас есть.Что не самый лучший случай, если у вас огромная база данных.
Я хочу сделать это наоборот, например сначала пройти фильтр, а затем получить данные.Поэтому я считаю, что мне нужно настроить AjaxCalls, используя startKey и endKey.
function call() {
$.ajax({
url:pathToView,
type:'get',
dataType:'json',
cache:false,
success:function (data) {
createChart(data);
},
});
}
Для пояснения я оставил здесь некоторые строки, которые не имеют отношения к проблемам.А функция createChart - это еще одна функция, которая вызывает HighChart.«Данные», которые задаются в качестве параметра, взяты из формы ([дата, значение], [дата, значение] ..) и используются в
Highcharts.chart {... Series:[{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]";
});
Я ожидаю, что он даст мне результаты только с января, но ничего не показывает вообще,