我试图向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
答案 0 :(得分:4)
只需指定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);
}
});
}
答案 1 :(得分:0)
在服务器端,您可以尝试使用TracKer注释。你也可以添加标题。
<?php
$output = array('total'=>(float)$BHoras[1], 'gastas'=>(float)$BHoras[2]);
header('Content-type: application/json');
echo json_encode($output);