Finora, ho capito come restituire una tipica risposta JSON in Zend Framework 2. Innanzitutto, ho aggiunto lo ViewJsonStrategy
alla sezione strategies
della configurazione view_manager
. Quindi, invece di restituire un'istanza ViewModel
dall'azione del controller, restituisco un'istanza JsonModel
con tutte le mie variabili impostate.Come rendere la vista ZF2 all'interno della risposta JSON?
Ora che ho capito questo pezzo, ho bisogno di capire come rendere una vista e restituirla all'interno di quella risposta JSON. In ZF1, ero in grado di usare $this->view->render($scriptName)
, che restituiva l'HTML come una stringa. In ZF2, il metodo Zend\View\View::render(...)
restituisce void
.
Quindi ... come posso eseguire il rendering di uno script di visualizzazione HTML e restituirlo in una risposta JSON in una richiesta?
Questo è ciò che ho in questo momento:
if ($this->getRequest()->isXmlHttpRequest()) {
$jsonModel = new JsonModel(...);
/* @todo Render HTML script into `$html` variable, and add to `JsonModel` */
return $jsonModel;
} else {
return new ViewModel(...);
}
Hey Sto solo tornando ad esso in quanto i' anche a questo. Qual è esattamente il tuo problema? Quando si restituisce un jsonModel (array ($ data)), la risposta è json. Non si vuole rendere alcuna vista o qualsivoglia cosa quando si restituisce json Oo – Sam
Ho bisogno di eseguire il rendering di una vista parziale all'interno della risposta JSON. Esempio: '{" html ":"