修改 解决了它。这是在ajax调用之前,因此,这个代码。谢谢大家的答案。
我找不到有这个问题的人。我对一个返回JSON响应的PHP脚本进行了AJAX调用。
我将数据库中的值提取到数组中:
while($row = mysql_fetch_array($ret)){
$temp = array(
'id' => $row['id_reserva'],
'start' => $row['data_inicio'],
'end' => $row['data_fim'],
'title' => $row['descricao']
);
$js[] = $temp;
}
接头:
header('Content-type: application/json');
并回声:
echo json_encode($js);
没有任何回报,只是一个空字符串。 真正令我烦恼的是,如果不是这样,我直接在代码中创建一个带有前一个结果的json字符串:
$temp = '[{"id":"3914", "start": "2011-08-25 09:00:00",
"end":"2011-08-25 18:00:00", "title":"asdasdasd"},
{"id":"3915", "start": "2011-08-25 09:00:00",
"end":"2011-08-25 18:00:00", "title":"asdasdasd"}]';
echo $temp;
有效。 尝试更改文件编码,比较字符串,检查字符的问题,什么都没有。
任何人
干杯
答案 0 :(得分:2)
你必须编码它。尝试
echo json_encode($js);
答案 1 :(得分:1)
你需要json编码数组:
echo json_encode($js);
答案 2 :(得分:1)
你没有输出为JSON?
echo json_encode($js);
使用您的方法,当jQuery获得响应并且无法解析JSON时,它将返回您经历过的空字符串。
答案 3 :(得分:0)
消除过程..
我可以将此语句添加到堆栈溢出的几乎所有冗长的PHP请求中:
逐步完成代码并回显您期望变量内容在那一点。然后你会慢慢地准确地隔离你的问题;您的代码没有任何问题。
答案 4 :(得分:0)
您是不是使用$js[] = $temp;
制作多维数组然后对其进行编码?试着做json_encode($temp);