我正在尝试将数组发送给JS,但是我没有想要的答案。

这是我的PHP代码:

$output = array('total'=>(float)$BHoras[1]'gastas'=>(float)$BHoras[2]);
echo json_encode($output);

这是我的JS代码:
function ProjectSelect()
{
    var proj = document.getElementById('ProjetosSelect').value;
    $.ajax({
        url: 'CRM files/TSread.php',
        type: "POST",
        data: ({ProjetosSelect: proj}),
        complete:function(data)
        {
            var Horas = data.responseText;
            alert(Horas); // response -> {"total":146,"gastas":84.5}
            alert(Horas[3]); // response -> o
        }

    });
}

我只想要“146”和“84.5”。

我尝试做alert(Horas['total'])alert(Horas.total),但是给我undefined

最佳答案

只需指定dataType: "json",jQuery就会为您解析响应:

function ProjectSelect()
{
    var proj = $('#ProjetosSelect').val();
    $.ajax({
        url: 'CRM files/TSread.php',
        type: "POST",
        data: ({ProjetosSelect: proj}),
        dataType: "json",
        success: function(Horas)
        {
            alert(Horas.total);
        }

    });
}

10-08 11:17