2010-06-05 17 views
8

Nie mam pojęcia o funkcjach programowania AJAX. Wiem tylko, że jest to asynchroniczna JavaScript i XML. Proszę mi pomóc w zrozumieniu tego języka. Przeszedłem przez wiele samouczków AJAX. Ale żaden z programów nie działa. Dlaczego nie wiem. Czy zapisujemy plik z rozszerzeniem .HTML?Jak robimy programowanie AJAX

+0

Myślę, że trzeba zacząć od nauki podstawowego programowania w Internecie. –

+0

Ajax jest mylący dla początkujących. Niezupełnie jak twoje codzienne kodowanie HTML/CSS. – ggfan

+4

Jeśli masz już problemy z innymi samouczkami, odpowiedzi, które otrzymasz dla tego ogólnego typu pytania prawdopodobnie niewiele Ci pomogą. Lepiej byłoby opublikować część kodu z samouczka, który już wypróbowałeś i poprosić o pomoc w ten sposób. Wtedy ludzie mieliby większą szansę na odpowiedź w odpowiedni sposób. – VirtuosiMedia

Odpowiedz

0

Tylko dodać, że AJAX jest rzadko używany w czystej postaci z XMLHttpRequest. Często używasz go jako części bibliotek UI, które ułatwiają ci życie. Jeśli jesteś ze świata Java - taka biblioteka AJAX to Richfaces.

1

Gdy zdobędziesz podstawową wiedzę z W3school, sugeruję użycie frameworka. Zwykle programiści w ogóle nie korzystają z XMLHttpRequest. Zamiast tego struktury javascript, takie jak ExtJS, jQuery i inne frameworki, ułatwiają pracę. Sugeruję, abyś nauczył się trochę javascriptu. sprawdź jQuery.

+0

Cóż, technicznie nadal używasz XMLHttpRequest w momencie korzystania z biblioteki, tylko nie musisz tego wyraźnie nazwać! ;) – nico

+0

tak .. programiści nie muszą się tym martwić. musisz tylko wywołać metody ($ .ajax() lub $ .getJson()), ale wewnętrznie te struktury będą używać make XMLHttpRequest na pewno. –

3

Oprócz prawidłowych odpowiedzi udzielonych przez innych, sądząc po Twoim pytaniu, myślę, że najpierw musisz poznać kod po stronie klienta i po stronie serwera.

Czy zapisujemy plik z rozszerzeniem .HTML?

Tak i nie. Będziesz miał frontend HTML, który na przykład zawiera przycisk. Zostanie to zinterpretowane przez przeglądarkę klienta (= użytkownika). W rzeczywistości może być renderowany inaczej w zależności od przeglądarki/OS/etc.

Teraz dołączasz kod Javascript do tego przycisku. To działa również w przeglądarce klienta i tworzy obiekt XMLHttpRequest, bezpośrednio lub za pośrednictwem biblioteki (JQuery & Co). Zauważ, że biblioteka jest wymagana do wykonania żądania AJAX. Ułatwi Ci to życie, jeśli wykonasz wiele połączeń AJAX, ale nie jest to konieczne.

I tu dzieje się magia: obiekt XMLHttpRequest wezwie asynchronicznie (tj .: bez przeładowania strony) strony po stronie serwera. Może to być plik PHP, ASP, Perl itp., Który robi coś na serwerze, na przykład zapytuje bazę danych. Ta część operacji jest całkowicie niezależna od klienta. Użytkownik może zamknąć przeglądarkę przed zakończeniem kodu po stronie serwera, a serwer nie będzie o tym wiedział.

Po zakończeniu wykonywania kodu po stronie serwera powraca on do klienta z niektórymi danymi odpowiedzi (np. Fragment XML, JSON, HTML lub cokolwiek chcesz). W końcu klient wykonuje (lub nie) inny kod JavaScript w odpowiedzi na to, na przykład, aby napisać na ekranie, ponownie bez przeładowywania strony, coś na podstawie tego, co zwrócił serwer.

0

Zamiast martwić się o to, jak zrobić AJAX, użyj czegoś, co pozwala o tym zapomnieć. Ramy takie jak NOLOH czynią AJAX (i Comet) automatycznie, bez konieczności robienia czegoś. Wystarczy skoncentrować się na swojej aplikacji i logice biznesowej, a ona zajmie się resztą.

Naprawdę, wszystko odbywa się automatycznie za pośrednictwem AJAX, jeśli jest dostępna. Żadna praca z twojej strony. Jeśli nie chcesz poświęcać zbyt wiele czasu na jej zbadanie, sprawdź ten krótki film, który został zaprezentowany na konferencji Confoo PHP w marcu http://www.youtube.com/phpframework#p/u/11/cdD9hSuq7aw.

Dla wszystkich zmartwionych, cóż, jeśli to wszystko AJAX, co z wyszukiwarkami? Nie musisz się martwić, http://dev.noloh.com/#/articles/Search-Engine-Friendly/.

Zamiast martwić się o wszystkie te różne technologie lub relacje klient-serwer, możesz usiąść, kodować i mieć swoją stronę/WebApp działającą w mgnieniu oka.

O NOLOH przeczytać można w tym miesiącu na okładce magazynu php | architect, http://www.phparch.com/magazine/2010/may/.

Ciesz się.

Nota prawna: Jestem współzałożycielem firmy NOLOH.

1

Może pomogę ci zrozumieć AJAX, nieco wyjaśniając pojęcia.

Proszę mi pomóc w zrozumieniu tego języka.

AJAX nie jest językiem, jest sposobem wykorzystania istniejących technik w celu poprawy komfortu użytkowania strony internetowej. Językiem jest JavaScript w przeglądarce, ale możesz użyć dowolnej techniki po stronie serwera, z którą czujesz się komfortowo (ASP.NET, Java, PHP, Ruby itp.).

Czy zapisujemy plik z rozszerzeniem .HTML?

Cóż, nie o to chodzi. Musisz zrozumieć, że istnieje serwer i przeglądarka, które współdziałają ze sobą. Tak, możesz używać statycznych plików HTML do swoich stron (i zapisywać je jako pliki .html), ale potrzebujesz serwera, aby odpowiedzieć na żądania przeglądarki. Być może dlatego Twój przykładowy kod nie działa; musisz skonfigurować serwer współpracujący z twoimi stronami.

Cała idea AJAX polega na poprawie komfortu użytkowania, ponieważ nie przeładowuje całej strony, gdy użytkownik wchodzi z nią w interakcję. Żądasz danych, których potrzebujesz i aktualizujesz stronę za pomocą JavaScript, aby zaktualizować HTML. Nazywa się to żądaniem pozapasmowym lub asynchronicznym.

Po prostu wiem, że jest to asynchroniczna wersja Javascript i XML.

To skrót oznaczający, ale nie dość dokładnie określa, do czego służy ta technika, ani też nie jest dokładny. Na początku XML był używany do przesyłania danych z serwera do klienta. Ludzie stwierdzili, że XML nie jest tak łatwy w obsłudze w JavaScript, więc teraz częściej korzysta się z JSON. JSON to fragment kodu javascript, który można ocenić w przeglądarce. Fragment tworzy obiekt (y) javascript, które reprezentują dane. Jeśli korzystasz z biblioteki JavaScript, tak jak sugerowali to inni, nie musisz się już martwić wieloma szczegółami.

Zanim pojawi się na AJAX należy upewnić się, że rozumiesz:

  • HTML i CSS
  • Javascript
  • jak zmodyfikować kod HTML z JavaScript
  • jak przeglądarka żąda informacji z serwera
  • sposób obsługi żądań na serwerze

Jeśli nie czujesz się dobrze z tymi wszystkimi koncepcjami, trzymaj się "zwykłych" stron internetowych i staraj się krok po kroku poszerzać swoją wiedzę.

+0

Dlaczego nie ma głosów na głos? Ta odpowiedź może nie być bezpośrednią odpowiedzią na pytanie, ale nadal dostarcza bardzo przydatnych informacji dotyczących parametrów samego pytania. To naprawdę mi pomogło. – zeboidlund

0

To jest łatwe. Ajax pobiera dane z serwera po wykonaniu strony klienta. Musimy użyć XMLHttpRequest, aby uzyskać wynik.