JSON响应不是来自php的对象

时间:2014-12-15 23:58:02

标签: javascript php ajax json

我使用php代理绕过跨域ajax问题

我的php:

return array(
        'status' => 'ok',
        'header' => $header,
        'content' => $content
    );

所以现在我的回复['内容']包含我的内容,但我也想要我的标题。

如果我:

echo $response['content'];

然后我得到我的回复: enter image description here

这就是我需要的!但我也希望在echo中有$ response [header]。 但如果我:

echo $response;

我得到: enter image description here

如何在json响应中同时使用,以便我可以在我的javascript代码中使用它? 为什么它只是返回明文'数组'

如果我使用json_encode,它的格式不正确就像我的第一个例子一样。

enter image description here

它丢失了所有格式..?

1 个答案:

答案 0 :(得分:2)

您必须使用$content

解析回复数据json_decode()
$data = array(
    'status' => 'ok',
    'header' => $header,
    'content' => json_decode($content)
);

header('Content-type: application/json');
echo json_encode($data);

或者,您可以直接返回JSON,而无需解析

header('Content-type: application/json');
echo '{"status":"ok", "header":"' . $header . '", "content":"' . $content . '"}';