Hola. Aquí
http://stackoverflow.com/questions/5...2-json-example
Tienes un par de consejos sobre la metodología de devolver respuestas en formato JSON que quizás te ayude. Fíjate en como pone los requerimientos del controlador y tal.
Tampoco creo que sea buena idea acceder a las variables POST así. ¿No es mejor a través del objeto REQUEST?
Espero que haciéndolo así te sea más claro ver por qué no funciona correctamente