Jak java script pobiera dane do np. wykreowania listy menu albo do odświeżenia strony (ajax)? czy sam komunikuje sie z bazą danych na serwerze czy tylko przez php?
Java script - czy działajac na stronie może sam pobierać dane z bazy mysql?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 65
To powinno Ci rozjaśnić podstawowy mechanizm działania AJAX: http://www.w3schools.com/ajax/ajax.gif
- Rejestracja: dni
- Ostatnio: dni
- Czyli z tego co widzę Java script wykonuje sie po stronie użytkownika (przeglądarka) a nie po stronie serwera jak PHP?
- Ale jeżeli strona wykorzystuje php to w przypadku Ajaxa java script musi wywołać stronę php która np. pobierze dane z bazy, wykreuje kod html i przekaże to dopiero skryptowi ajaxa, tak? czyli php tu pośredniczy?
- a w przypadku tworzenia takiego obiektu jak jakieś menu. Czy java script może samodzielnie (bez php) pobrać z bazy listę punktów tego menu?
- Rejestracja: dni
- Ostatnio: dni
AJAX to asynchroniczne wykonywanie się kodu JavaScript. W dużej mierze jest ono używane do tego, by pobrać dane z serwera. Jakiego? To już inna sprawa. Cały Ajax można podzielić na parę części:
-
zapytania do serwerów - tutaj mamy aktualnie 2 rodzaje zapytań
XMLHttpRequestz trochę nieszczęśliwą nazwą, bo XMLa mało kto już zwraca, który to pozwala na wysłanie zapytania do serwera tylko w same-origin policy (są plany by to zmienić, ale to teraz nieważne)- JSONP - jest to obejście SOP w taki sposób, że wywołujemy zapytanie do serwera zewnętrznego chcąc pobrać skrypt (dodajemy nowy tag
<script>), który wywołuje funkcję przekazując do niej obiekt JSa.
-
Eventy na stronie, które masz wylistowane na stronie MDN https://developer.mozilla.org/en-US/docs/Web/Reference/Events
-
WebSockets, WebWorkers, etc., ale to już bardziej skomplikowane
Czy musi być na serwerze PHP? Nie. Może być dowolna inna technologia zwracająca dane w formacie, które będziesz mógł przetworzyć w JSie.
Czy może być to DB? Tak, ale raczej niewiele z nich na coś takiego pozwala. Raczej będą to jakieś NoSQL jak CouchDB, MongoDB czy Cassandra.
- Rejestracja: dni
- Ostatnio: dni
Chodzi mi o jak najbardziej popularne rozwiązanie. Robię stronkę w php + mysql. Java Script znam bardzo pobierzenie tylko z prostych funkcji. Projekt który robię wymagałby użyci w paru miejscach js (między innymi menu i ładowanie ajaxem). Chciałbym zlecić napisanie kilku skryptów na szybko komuś z zewnątrz (pilny termin) i teraz nie wiem czy to co otrzymam powinno się spiąć z php czy też będą to zupełnie niezależne wtyczki które umieszczę w kodzie strony. Taki jest temat.
- Rejestracja: dni
- Ostatnio: dni
Ze strony PHP będziesz musiał zwracać treść w jakiejś formie. Nie polecam zwracania czystego HTMLa, lepiej zwrócić jakiś JSON i z niego wydłubać dane. Jednak jeśli chcesz tylko podmieniać treść strony przy użyciu AJAXa (bez migania) to znacznie łatwiej będzie użyć Turbolinks. Nie musisz wtedy wprowadzać żadnych zmian w kod. Jedyne co robisz to dodajesz ten skrypt.
- Rejestracja: dni
- Ostatnio: dni
Jeśli chodzi o ajaxa to właśnie chodzi mi tylko o podmianę treści bez odświeżania całej strony.
- Rejestracja: dni
- Ostatnio: dni
To tu masz do tego gotowy kod https://github.com/rails/turbolinks. Link do samego skryptu https://github.com/rails/turbolinks/blob/master/lib/assets/javascripts/turbolinks.js.coffee. Możesz też użyć PJAX: http://pjax.heroku.com/ (ale on już polega na jQuery).
- Rejestracja: dni
- Ostatnio: dni
Tak czytam o tym Turbolinks. To jekiś skrypt z Ruby on Rails? Nie wysypuje sie to na przeglądarkach? Zależy mi na tym żeby strona chodziła również na starym IE8.
Może to JQuery jet lepsze.
- Rejestracja: dni
- Ostatnio: dni
Ani jedno ani drugie nie zadziała na IE mniejszych niż 10 ze względu na to, że nie obsługują document.pushState. Więc jedyne co Ci pozostaje to poszukać rozwiązania z hashbangiem.