Angular.JS + Bazy danych + SILEX

0

Witam wszystkich!

Pojawił mi się problem. Mianowicie robię projekcik z baz danych z użyciem angulara "jedynki" i... Wysypuje mi błąd typu:

Error: plants.getPlants(...) is undefined

Rozumiem, że moje app.js nie 'widzi' funkcji getPlants. Teraz pytanie dlaczego? Podpiąłem mój serwis do głównego modułu oraz fabrykę do kontrolera z metodą i dalej to nie działa. Wysyłam Wam cały kod jaki mam - czyli app.js, service.js oraz api.php

API.JS:
https://ghostbin.com/paste/od277

Service:
https://ghostbin.com/paste/m8edw

API.PHP:
https://ghostbin.com/paste/mtgfj

Dzięki za pomoc - w razie jakichkolwiek innych plików - podeślę :)

0

Problemem jest to że metoda getPlants nie zwraca żadnego wyniku, a w kontrolerze chcesz wywołać .then(...) na rezultacie plants.getPlants()

0

Dzięki, rzeczywiście błąd zniknął. Zaimplementowałem to w ten sposób:

     plants.getPlants(function(plants){
        $scope.plants = plants;
});

screenshot-20170111225753.png

Natomiast teraz (nie wiem też dlaczego - fajnie by było wyjaśnić - byłbym bardzo wdzięczny) dlaczego nie wyświetla mi roślin z bazy danych. Oczywiście wysyłam kod w jaki sposób chcę wyświetlić w liście roślinki. Dodatkowo daję screen'a z bazy danych :-)

https://ghostbin.com/paste/9oy3z

Oto mój kod HTML w którym chcę wyświetlić te roślinki. Oczywiście pewnie problem jest dość trywialny, ale każdy z Was się uczył, a początki są dość hmm... ciężkie. Dobrze, że jestem wytrwały i dalej mnie taki błędy nie zniechęcają, ale staram się je rozwiązać sam + zamieszam prośbę o pomoc. :-)

0

moze cache

0

A co dostajesz w odpowiedzi z backendu ?

0

W odpowiedzi z backendu - dostaję JSON'a z danymi. Oczywiście teraz zerknąłem jaki jest problem i wyświetla mi w konsoli taki błąd:

screenshot-20170112095947.png

Próbowałem nie "dublować" tak jak pisze w poradzie - natomiast to w dalszym ciągu nic nie daje. Oczywiście przeczyściłem cache - także to nic mi nie dało. Console.log -> dodany w funkcji w api.js -> nic nie wyświetliło, więc sam nie wiem gdzie może być teraz problem - czy w api.php gdzie mam zapytanie, czy w serwisie, który 'daje' mi dane do mojego api.js. Dzięki za pomoc :-)

0

Odświeżam temat :-)

Czy mógłby ktoś mi powiedzieć co może się tutaj nie zgadzać?

0

Wrzuć tego JSON z backendu bo myślę że to może mieć związek.

0

Cześć,

Wysyłam Ci wszystkie pliki - które są związane z moim projektem.

Api.php

https://ghostbin.com/paste/kv9kx

nadzorca.html

https://ghostbin.com/paste/m3ywj

Service.JS

https://ghostbin.com/paste/pbqu6

Api.JS

https://ghostbin.com/paste/x7wgw

Dzięki za pomoc.

0

używaj niezminifikowanej wersji angulara (angular.js zamiast angular.min.js) jeśli chcesz mieć bardziej user-friendly komunikaty
najbardziej bezpośrednią przyczyną twoich problemów jest to, że zmienna plants to tablica zawierająca duplikaty, co najmniej dwa stringi "<"

0

Witam,
Odwołując się do Twojej odpowiedzi - za bardzo nie rozumiem gdzie te duplikaty występują. Mam rozumieć, że w api.js -> $scope.plants = []?

Aktualnie żaden błąd się nie pojawia - ale też rośliny nie wyświetlają się.

1 użytkowników online, w tym zalogowanych: 0, gości: 1