Tengo un problema cuando quiero enviar un objeto json en lugar de una vista desde una función de acción.
He configurado mi /config/modules.config.php así...
return [ //... 'view_manager' => [ //... 'strategies' => [ 'ViewJsonStrategy', ], ], ];Y cuando intento devolver un objeto JSON desde mi función de acción...
public function loginAction(){ $request = $this->getRequest(); $log = new \File\LogWriter(); $log->writeLog(get_class($this) . "::" . __FUNCTION__ . ": Dentro de loginAction()"); $params = json_decode(file_get_contents('php://input'),true); $email = $params["email"]; $password = $params["password"]; $log->writeLog(get_class($this) . "::" . __FUNCTION__ . ": email: " . $email . " password: " . $password); return new JsonModel([ "result" => 0 ]); }tengo este error...
Error fatal : Zend\View\Exception\RuntimeException no detectada: Zend\View\Renderer\PhpRenderer::render: No se puede procesar la plantilla "aplicación/inicio de sesión/inicio de sesión"; resolver no pudo resolver un archivo en /var/www/html/31juegos/vendor/zendframework/zend-view/src/Renderer/PhpRenderer.php:494
Seguimiento de pila: #0 /var/www/html/31juegos/vendor/zendframework/zend-view/src/View.php(207): Zend\View\Renderer\PhpRenderer->render() #1 /var/www/ html/31juegos/vendor/zendframework/zend-mvc/src/View/Http/DefaultRenderingStrategy.php(105): Zend\View\View->render(Object(Zend\View\Model\JsonModel))
#2 /var/www/html/31juegos/vendor/zendframework/zend-eventmanager/src/EventManager.php(322): Zend\Mvc\View\Http\DefaultRenderingStrategy->render(Object(Zend\Mvc\MvcEvent))
#3 /var/www/html/31juegos/vendor/zendframework/zend-eventmanager/src/EventManager.php(171): Zend\EventManager\EventManager->triggerListeners(Object(Zend\Mvc\MvcEvent))
#4 /var/www/html/31juegos/vendor/zendframework/zend-mvc/src/View/Http/DefaultRenderingStrategy.php(123): Zend\EventManager\Ev en /var/www/html/31juegos/vendor/zendframework /zend-view/src/Renderer/PhpRenderer.php en la línea 494
¿Qué estoy haciendo mal? El mismo código funciona bien en Zend Framework 2.4. Estoy usando php7.0.
Cuando la solicitud es una página web normal, la respuesta es una página web (no JSON). Si la solicitud es de AJAX, entonces la respuesta es JSON (y no necesita una vista, que es el error que está recibiendo).