我的代码中有一个问题,我无法看到问题出在哪里。 当我在JS中获取JSON数据时,在网页上显示数组的结构,如下图所示。
这是我的JS代码的摘录
var proj = document.getElementById('ProjetosSelect').value;
$.ajax({
url: 'CRM files/TSread.php',
type: "POST",
data: ({ProjetosSelect: proj}),
dataType: "json",
complete:function(data)
{
ProjetoHoras = data.responseJSON.total;
ProjetoGastas = data.responseJSON.gastas;
var PorGastar = ProjetoHoras - ProjetoGastas;
$('#graficos').highcharts({
chart: {
type: 'column',
margin: 75,
options3d: {
enabled: true,
alpha: 10,
beta: 25,
depth: 70
}
},
title: {
text: 'Horas Contratadas'
},
plotOptions: {
column: {
depth: 25
}
},
xAxis: {
categories:
['Horas Totails','Horas Gastas','Horas por Gastar']
},
yAxis: {
title: {
text: null
}
},
series: [{
name: 'Horas',
data: [ProjetoHoras, ProjetoGastas, PorGastar]
}]
});
}
});
这是我的PHP代码的摘录
$output = array('total'=>(float)$BHoras[1], 'gastas'=>(float)$BHoras[2]);
echo json_encode($output);
可以从网页中删除“{”total“:0,”gastas“:0}”
答案 0 :(得分:2)
网页和ajax都回应了内容。
每个人都应该有一个不同的网址。 回显数组JSON的PHP页面应该与网页本身位于不同的URL中。
否则,您可以使用参数来区分它们:
在Javascript中添加:
data: ({ProjetosSelect: proj,action:'json'}),
在php中:
if( ! empty($_POST['action']) && $_POST['action] == 'json'){
$output = array('total'=>(float)$BHoras[1], 'gastas'=> (float)$BHoras[2]);
echo json_encode($output);
}