• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

jak odebrać dane select2 jquery i ajax

Konkurs Mistrz Programowania
0 głosów
371 wizyt
pytanie zadane 1 czerwca 2016 w JavaScript przez niejestemrobotem Początkujący (360 p.)
edycja 1 czerwca 2016 przez niejestemrobotem

cześć, problem polega na tym, że mam napisaną metodę która pobiera z bazy danych wartość pobraną z inputa (select2) i na tej podstawie wraca wynik. jest to taka mała wyszukiwarka, ale nie wiem jak odebrać dane które przychodza jsonem z bazy (metody)

    public function search()
    {

        if(isset($_GET['term'])){
            $product = new \App\Model\Products();

            $product = $product->find('all', array(
                'select' => 'id_product, product_name',
                'conditions' => array('product_name LIKE ?', '%'.$_GET['term'].'%',
                    )));
            $results = array();
            foreach ($products as $key => $value) {
                $results['id'] = $value->id_product;
                $results['product'] = $value->product_name;
echo json_encode($results);
                
            }

        }

    }

kod jquery:

        $('#id_select').select2({

            ajax: {
                url: '/ajax/pobierz-produkty?ajax=1&norefresh',
                dataType: 'json',
                delay:200,

                processResults: function (data) {
                console.log(data)
                return {
                    results: data
                    };  
                }
            },

.

1 odpowiedź

0 głosów
odpowiedź 1 czerwca 2016 przez darek_kce Gaduła (3,180 p.)
edycja 1 czerwca 2016 przez darek_kce

Odwołujesz się do $_GET['term'], tyle że go nigdzie nie podajesz.

Myślę też że niepotrzebnie dodałeś metodę processResults, ja bym zostawił to w takiej postaci:

ajax: {
    url: function (params) {
        return 'TEN ADRES KTÓRY TAM WPISAŁEŚ' + params.term;
    }
    delay: 200
}

Daj znać czy działa

komentarz 1 czerwca 2016 przez niejestemrobotem Początkujący (360 p.)
chyba nie o to chodzi. url działa dobrze bo konsola zwraca mi obiekt tylko nie wiem jak go wyswietlic w tym polu od selecta.
komentarz 1 czerwca 2016 przez niejestemrobotem Początkujący (360 p.)
chyba musze to jakos sparsowac tylko nie wiem jak
komentarz 1 czerwca 2016 przez ScriptyChris Mędrzec (190,190 p.)

AJAX nie zwraca nic, bo jest asynchroniczny. Albo za pomocą callback wywołaj sobie funkcje, która ma coś z danymi z bazy danych robić, albo przetwórz to sobie wewnątrz AJAX.

Podobne pytania

+1 głos
3 odpowiedzi 1,763 wizyt
pytanie zadane 9 stycznia 2016 w JavaScript przez Lid$ Mądrala (6,300 p.)
0 głosów
1 odpowiedź 1,565 wizyt
pytanie zadane 13 lipca 2017 w JavaScript przez `Krzychuu Stary wyjadacz (13,940 p.)
0 głosów
1 odpowiedź 1,145 wizyt
pytanie zadane 30 października 2016 w JavaScript przez niezalogowany

93,653 zapytań

142,574 odpowiedzi

323,090 komentarzy

63,170 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...