2017-11-10 2 views
0

Ich bin neu in Symfony! Ich benutze symfony 3. Ich habe eine Sucheingabe, wenn ich in Suche eingebe, will ich das Ergebnis in der Zweigdatei anzeigen. Ich habe das korrekte Ergebnis von Ajax gesendet und ich habe ein Problem mit Display-Daten Ergebnis von Ajax zu Zweig-Datei und verwenden Schleife hier. Hier ist mein ControllerSo zeigen Sie das Ergebnis in Erfolg Ajax zu Zweig-Datei

/** 
* @Route("/ajax_search", name="ajax_search", options={"expose"=true}) 
*/ 
public function ajaxSearchAction(Request $request) 
{ 
    $string = $request->get('search_items'); 
    $users = $this->getDoctrine() 
     ->getRepository('AppBundle:Item') 
     ->findEntitiesByString($string); 

    $encoders = array(new XmlEncoder(), new JsonEncoder()); 
    $normalizers = array(new GetSetMethodNormalizer()); 
    $serializer = new Serializer($normalizers, $encoders); 

    $jsonContent = $serializer->serialize($users, 'json'); 
    $response = new Response($jsonContent); 

    return $response; 
} 

Ajax:

$(document).ready(function() { 
    $("#search_items").keyup(function() { 
     var q = $("#search_items").val(); 
     var url = '../ajax_search?search_items=' + q; 
     $.ajax({ 
      url: url , 
      type: 'POST', 
      dataType: 'json', 
      data: {q: q}, 
      success: function(data){ 
       var result = JSON.stringify(data); 
       $('.test').html(result); //return correct data 

      } 
     }); 
    }); 
}); 

und mein Zweig

<input type="text" name="search" placeholder="search" id="search_items"/> 
<div class="test"></div>//i want to get data and use loop in here 
+0

u tell veröffentlichen können oder die Daten wt hinzufügen steht vor der Tür, kann nicht u-Schleife verwenden, um ihre, sondern in Erfolg können wir Schleife verwenden – jeevanswamy21

Antwort

0

In Ihrer Aktion den Zweig Vorlage, die Sie Ihren Code zu übergeben müssen machen Sie in verwenden Ihre Vorlage wie folgt:

 return $this->render(
     'yourTemplate.html.twig', 
     array(
      'yourKey' => callYourFunctionToGetTheData() 
     ) 
    ); 

In Zweig können Sie Ihre Daten wie diese Adresse:

<div>{{ yourKey }}</div> 

In Zweig sind Arrays, Objekte und nur „normale“ Werte möglich z ganze Zahlen, Strings und so ein.

Hoffe, dass dies Ihnen helfen wird!

Überprüfen Sie den Zweig-Dokumentation für weitere Twig Documentation

Grüße

Verwandte Themen