Ich arbeite an einer Funktion für eine Heatmap. Wenn ich auf eine Zelle im Diagramm klicke, erscheint ein Boxplot, und ich verwende Django- und Highcharts-Modelle für die Implementierung.von Javascript zu Python bei Klick
Zur Zeit bin ich mit der Weitergabe von Variablen von einer Javascript-Funktion auf die Python-Server-Seite fest. Ich weiß für Django gibt es eine Post und Get-Methode, aber ich habe kein Formular in diesem Fall, nur die Klicks. Wenn ich auf eine Zelle in der Heatmap klicke, möchte ich die x-label- und y-label-Strings an den Python-Server übergeben, die Daten in python verarbeiten und abfragen und dann die Daten zurück in den Popup-Boxplot einspeisen. Vielen Dank !
$(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 nachschlagen zu verstehen, wie Sie GET-Anfragen in reinem Javascript senden können. Sie benötigen dazu kein Formular. :) Sie können dann einen 'onClick'-Ereignishandler erstellen, der eine AJAX-GET-Anforderung auslöst, wenn das Diagramm gedrückt wird. Siehe [ein Beispiel mit jQuery für einen Schaltflächenklick] (http://www.w3schools.com/jquery/ajax_ajax.asp). –
POST und GET sind HTTP-Anfragen, sie haben nichts mit anderen Formen als Formen zu benutzen sie – Sayse