Javascript 解析在本地主机上工作但不在服务器上工作的JSON

Javascript 解析在本地主机上工作但不在服务器上工作的JSON,javascript,php,json,parsing,symfony,Javascript,Php,Json,Parsing,Symfony,我知道有很多关于json的问题,但是他们没有回答我的问题(或者我找不到任何有助于我的东西)。 Symfony2控制器的一部分,用于向我发送数据 return $this->createResponse(array( 'result' => $users )); die(); } /** * Interni pomocna funkce na vytvareni json odpovedi * @param unknown $array * @re

我知道有很多关于json的问题,但是他们没有回答我的问题(或者我找不到任何有助于我的东西)。 Symfony2控制器的一部分,用于向我发送数据

return $this->createResponse(array(
            'result' => $users
    ));
die();
}
/**
 * Interni pomocna funkce na vytvareni json odpovedi
 * @param unknown $array
 * @return \Symfony\Component\HttpFoundation\Response
 */
protected function createResponse($array = array()) {
return new Response(
        json_encode($array),
        200,
        array(
                        header('Content-type: application/json')    
        )
);
}
获取JSON数据的Javascript函数

function getUsers(date_from, date_to) {
alert(date_from+" "+date_to);
var url = "{{ path('vetkomdochazkaBundle_apiGetUsers') }}";
$.post(url, JSON.stringify([date_from,date_to]), function(data) {
           markUsers(data['result']);
            }, 'json');
};
在localhost(wamp服务器)上一切正常,我获取数据并对其进行解析,以便将其用作数组。但当我在php5.3服务器上运行它时,我得到了正确的数据(我可以用JSON.stringify编写),但我不能像在localhost上那样使用它们(我不能使用alert(data['result']),它只编写对象


我做错了什么?

检查您的PHP版本JSON函数是否为PHP5>=5.2.0,

Symfony有一个
JsonResponse
对象,它可能会使您的代码更干净,并可以修复您的问题。此外,请取出模具

/**
 * Interni pomocna funkce na vytvareni json odpovedi
 * @param unknown $array
 * @return \Symfony\Component\HttpFoundation\JsonResponse
 */
protected function createResponse($array = array()) {
    return new JsonResponse(
        $array,
        200
    );
}
否则,您需要设置标题,如下所示

return new Response(
    json_encode($array),
    200,
    array('Content-type', 'application/json')
);

data
包含什么,您是否执行了
console.log(data);
?console.log显示与本地主机上的警报相同的数据,但我更改了cyclus markUsers函数,它现在也在服务器上工作。我使用for(输入用户)而不是for(index=0;indexI知道这对您的问题没有帮助,但是自Symfony的2.1版以来,有一个类叫做JsonResponse。您应该能够以这种方式返回您的响应:返回新的JsonResponse($array);不会返回任何内容。您的
数组(header('Content-type:application/json'))
很可能是错的。@阿尔瓦罗:你是对的,这肯定是他的问题。OP说他在服务器上使用的是PHP5.3。