Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jQuery][symfony] czy ajax musi dostać proste dane np json czy może dostać sparsowany twig ze zmiennymi, pętlami?
Forum PHP.pl > Forum > Przedszkole
porzeczki
czy mój kontroler wywoływany przez ajax zamiast zwracać jakiś string:
  1. return new JsonResponse(array('data' => $data));

może zwrócić :
  1. if ($request->isXmlHttpRequest()) {
  2. ...
  3. return $this->render('AppBundle:Default:index.html.twig',[
  4. 'foo' => $foo
  5. ]);

z twigiem:
  1. <a href={{ path('show', { 'id': foo }) }}>


?

  1. $.ajax({
  2. type: "GET",
  3. url: Routing.generate('index')
  4. })
  5. .done(function( data ) {
  6. console.log(data);
  7. });
mcmaroon
Tak, np coś w tym stylu
  1. $renderData = [];
  2. $renderData['status'] = true;
  3. $renderData['count'] = 10;
  4. $renderData['template'] = $this->renderView('AppBundle:Default:index.html.twig', array(
  5. 'var' => $var
  6. ));
  7.  
  8. return $this->json($renderData);

i potem odbierasz np
Kod
console.log(data.status);
console.log(data.template);
$('#jakis-selektor).html(data.template);
porzeczki
ekstra.
nospor
@porzeczki tak na przyszlosc to twoj pierwszy kod nie zwracal zadnych petli ani kodu twig. Twoj kod zwracal kod html wygenerowany przez twig a to drobna roznica.
I tak, ajax moze odebrac zarowno JSON jak i zwykly tekst, musisz mu tylko powiedziec czy ma sie spodziewac json czy zwyklego tekstu.

Co nie zmienia rzecz jasna faktu, ze kod podany przez mcmaroona jest jak najbardziej ok
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.