Poprzez żądanie ajax przekazuje parametr do kontrolera.Parametr ten wykorzystuje do pobrania z bazy tablicy obiekietów
public function ajaks2Action(Request $request) { $tag = $request->request->get('tag'); $repository = $this->getDoctrine()->getRepository('SklepBundle:Ksiazka'); $qb = $repository->createQueryBuilder('k'); $qb->where('k.autor LIKE :autor OR k.tytul LIKE :tytul '); $qb->setParameter('autor', '%' .$tag. '%'); $qb->setParameter('tytul', '%' .$tag. '%'); $tab = $qb->getQuery()->getResult(); $s=json_encode($tab); return new Response($s); }
Mam jednak problem z wyświetleniem rezeltatów. Gdy chce wyświetlić pojedyńczą wartość (tak jak kodzie poniżej) - nie dostaję nic.
$.ajax({ url: "{{ path('ajaks2') }}", type: "POST", dataType: 'json', data: {"tag": te}, success: function (data) { $('#res').text(data[0]['autor']) } });
Gdy w parametrze success wpiszę $('#res').text(data)) to jako wynik wyrzucane są zakodowane obiekty [object Object],[object Object]
Z góry dziekuje za pomoc
P.S Jeśli w kontrolerze zamiast doctrine stworzę własną tablicę - wszystko działa bez zarzutu. Mogę bez problemu odwoływać się do konkretnych elementów.