Jquery json回声

时间:2011-08-24 14:44:52

标签: php jquery ajax json

修改 解决了它。这是在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;

有效。 尝试更改文件编码,比较字符串,检查字符的问题,什么都没有。

任何人

干杯

5 个答案:

答案 0 :(得分:2)

你必须编码它。尝试

echo json_encode($js);

答案 1 :(得分:1)

你需要json编码数组:

echo json_encode($js);

答案 2 :(得分:1)

你没有输出为JSON?

echo json_encode($js);

使用您的方法,当jQuery获得响应并且无法解析JSON时,它将返回您经历过的空字符串。

答案 3 :(得分:0)

消除过程..

  • 你可以print_r($ js)并获得输出吗?
  • 取出标题();声明,有什么事吗?
  • 您是否启用了error_reporting和display_errors?
  • 您似乎没有初始化'js'($ js = array())。如果你得到文字字符串'null',这可能只是暗示你的查询没有返回任何结果。

我可以将此语句添加到堆栈溢出的几乎所有冗长的PHP请求中:

逐步完成代码并回显您期望变量内容在那一点。然后你会慢慢地准确地隔离你的问题;您的代码没有任何问题。

答案 4 :(得分:0)

您是不是使用$js[] = $temp;制作多维数组然后对其进行编码?试着做json_encode($temp);