html中不需要的Json出现

时间:2015-08-05 09:04:22

标签: javascript php json

我的代码中有一个问题,我无法看到问题出在哪里。 当我在JS中获取JSON数据时,在网页上显示数组的结构,如下图所示。 enter image description here

这是我的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}”

1 个答案:

答案 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);
   }