0

私のコントローラーで、次のような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しかし、ここでの私の間違いは、役に立たないように思われるからです。

4

1 に答える 1

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); 
   // ...
});
于 2013-01-29T13:25:13.107 に答える