Symfony2 JsonResponse和jQuery.parseJson()

时间:2013-01-29 13:17:07

标签: jquery json symfony

在我的控制器中,如果我返回一个JSON响应,如:

return new JsonResponse(array('numberOfRatings' => count($ratingCollection), 'oldRating' => $oldRating));

返回的对象将包含以下数据:

protected 'data' => string '{"numberOfRatings":1,"oldRating":2}' (length=35)

但是当我尝试用jQuery.parseJson();解析它时,它将返回一个jQuery无法解析它的异常。但是当我这样做时:

return new JsonResponse(json_encode(array('numberOfRatings' => count($ratingCollection), 'oldRating' => $oldRating)));

什么等于

return new Response(json_encode(array('numberOfRatings' => count($ratingCollection), 'oldRating' => $oldRating)));

parseJson()方法效果很好。但我在这里的错误导致似乎JsonResponse没用。

1 个答案:

答案 0 :(得分:4)

当您使用JsonResponse时,您不需要使用jQuery.parseJson(),您获得的数据已经是javascript对象。

$.getJSON(your_url, function(data) {
   // the data is already an object, don't need to parse it.
   // var data = $.parseJSON(data); 
   // ...
});