Valores no actualizados después de una respuesta ajax.
Estoy enviando algunos datos del formulario a través de ajax a un script php en la misma página. PHP debe procesar los datos y mostrar los resultados en la misma página.
Estoy usando esta sintaxis para ajax:
$.ajax
({
type: "POST",
url: "",
data: $("form").serialize(),
success: function(result)
{
updatechart();
console.log(result);
}
});
Básicamente estoy tratando de actualizar algunos valores en un gráfico basado en los datos ingresados en el formulario y luego de ser procesados por un script php. Obtengo toda la fuente de la página cuando lo hago.console.log(result);
y los valores se actualizan en mi consola después de hacer esto, pero el gráfico no se actualiza. Cuando veo la fuente de la página, los valores siguen siendo los mismos. ¿Qué tengo que hacer?
function updatechart() {
var json=<?php echo json_encode($GLOBALS['json']); ?>;
var direct=json['direct'];
var total=json['total'];
var referred=total-direct;
var aid=new Array();
var count=new Array();
for(var i=0;i<json['aid'].length;i++) {
aid[i]=json['aid'][i];
count[i]=json['count'][i];
}
var series = [{
name : "Referred",
data: [referred]
}, {
name: "Direct",
data: [direct]
}];
for(var i=0; i<aid.length;i++) {
series.push({
name: 'AID-'+[aid[i]],
data: [count[i]]
})
}
var options = {
chart: {
renderTo: 'container',
type: 'column'
},
title: {
text: 'User Source Chart'
},
xAxis: {
categories: ['Users']
},
yAxis: {
min: 0,
title: {
text: 'Total users'
}
},
tooltip: {
pointFormat: '<span style="color:{series.color}">{series.name}</span>: <b>{point.y}</b> ({point.percentage:.0f}%)<br/>',
shared: true
},
plotOptions: {
column: {
stacking: 'percent'
}
},
series: series
};
chart = new Highcharts.Chart(options);
}
Este es mi código updatechart () El problema es que el valor json no se actualiza.