Я работаю над функцией для тепловой карты. Когда я нажимаю на ячейку на диаграмме, появится всплывающее окно, и я использую модели django и highcharts для реализации.от Javascript к Python при щелчке
В настоящее время я застрял с передачей переменной из функции javascript на стороне сервера python. Я знаю, что для django существует метод post и get, но в этом случае у меня нет формы, только клики. Всякий раз, когда я нажимаю на ячейку в тепловой карте, я хотел бы передать строки x-label и y-label на сервер python, обработать и захватить данные на python, а затем передать данные обратно во всплывающее окно. Спасибо !
$(function() {
$('#container').highcharts({
chart: {
type: 'heatmap'
},
plotOptions: {
series: {
events:{
click: function cellClick() {
var $div = $('<div></div>')
.dialog({
title: this.name,
width: 400,
height: 300
});
window.chart = new Highcharts.Chart({
chart: {
renderTo: $div[0],
type: 'boxplot'
},
series: [{
name: 'Observations',
data: [
//here I would like to insert data passed from the python view
// on click of a cell in the heatmap
],
}, {
name: 'Outliers',
color: Highcharts.getOptions().colors[0],
type: 'scatter',
data: [//data from python view],
}]
})
}
}
}
},
xAxis: {
opposite: true,
categories: label,
labels:{
formatter: function(){
//I would like to pass factor_x to the server(python) on click
//of a cell in the heatmap
var factor_x = this.value;
if (factor_x.length > 6){
return factor_x.substr(0,6) ;
}else{
return factor_x;
}
}
},
},
yAxis: {
categories: label2,
labels:{
formatter: function(){
// pass factor_y to the server side on-click
var factor_y = this.value;
if (factor_y.length > 7){
return factor_y.substr(0,7) + "...";
}else{
return factor_y;
}
}
},
},
series: [{
name: 'Factor Correlation',
data: correlation,
}]
});
});
Посмотрите AJAX, чтобы понять, как вы можете отправлять запросы GET в чистый Javascript. Вам не нужна форма для этого. :) Затем вы можете создать обработчик события onClick, который запускает запрос AJAX GET при нажатии графика. См. [Пример с jQuery для нажатия кнопки] (http://www.w3schools.com/jquery/ajax_ajax.asp). –
POST и GET - это http-запросы, они не имеют ничего общего с формами, отличными от форм, использующих их. – Sayse