Do tej pory dowiedziałem się, jak zwrócić typową odpowiedź JSON w Zend Framework 2. Najpierw dodałem ViewJsonStrategy
do sekcji strategies
konfiguracji view_manager
. Następnie zamiast zwracania instancji ViewModel
z akcji kontrolera zwracam instancję JsonModel
ze wszystkimi ustawionymi zmiennymi.Jak renderować widok ZF2 w ramach odpowiedzi JSON?
Teraz, gdy wymyśliłem ten fragment, muszę zrozumieć, jak renderować widok i zwracać go w ramach tej reakcji JSON. W ZF1 mogłem użyć $this->view->render($scriptName)
, która zwróciła HTML jako ciąg znaków. W ZF2, metoda Zend\View\View::render(...)
zwraca void
.
Więc ... jak mogę renderować skrypt widoku HTML i zwracać go w odpowiedzi JSON w jednym żądaniu?
To co mam teraz:
if ($this->getRequest()->isXmlHttpRequest()) {
$jsonModel = new JsonModel(...);
/* @todo Render HTML script into `$html` variable, and add to `JsonModel` */
return $jsonModel;
} else {
return new ViewModel(...);
}
Hej Ja tylko powracającego do niej odkąd” M na tym też. Czym dokładnie jest twój problem? Po zwróceniu jsonModel (array ($ data)), odpowiedzią jest json. Nie chcesz renderować żadnego widoku ani niczego, kiedy zwracasz json Oo – Sam
Potrzebuję renderować częściowy widok wewnątrz odpowiedzi JSON. Przykład: '{" html ":"