-
Data: 2012-02-03 14:27:02
Temat: Re: JS - asynchroniczna komunikacja
Od: Marek <p...@s...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Dnia Fri, 03 Feb 2012 10:56:27 +0100, Cezary Tomczyk napisał(a):
> Z podanego przeze mnie linku dowiesz się właśnie to, czego potrzebujesz.
> Ajax to nie jest żaden język programowania tylko protokół komunikacyjny.
> Ajax to akronim od Asynchronous JavaScript and XML.
Rozumiem ... choć nie do końca. Czy nie jest to przypadkiem oprogramowanie
w zwykłym JS zrobione?
Funkcja inicjująca:
if (window.XMLHttpRequest) { // Mozilla, Safari, Opera ...
http_request = new XMLHttpRequest();
} else if (window.ActiveXObject) { // IE
http_request = new ActiveXObject("Microsoft.XMLHTTP");
}
Już na to wskazuje. Pewnie analiza kodu źródłeowego obiektu ActiveXObject
przyniasłaby mi odpowiedź i pewnie tak zrobię. Sądziłem, że będzie szybciej
zadać pytanie na forum.
> Z artykułu dowiedziałbyś się też, że potrzebna Ci jest jedna metoda:
> XMLHttpRequest.
IE9 tego nie obsługuje więc odpada takie rozwiązania. Ajax musi mieć więc
jakąś alternatywę skoro działa to również na IE.
> Chyba mogę pokusić się o stwierdzenie, że 99%
> przeglądarek obsługuje XMLHttpRequest. "Ale"! Z linka dowiedziałbyś
> dalej też to, że, niestety, inicjacja tego obiektu jest różna w
> przeglądarkach.
Oj, chyba to nie są wiarygodne dane. W/g:
http://caniuse.com/#search=XMLHttpRequest
IE nie obsługuje tego obiektu. W/g
http://ranking.pl/pl/rankings/web-browsers.html
IE stanowi jaieś 20% rynku więc zaledwie 80% przeglądarek (zainstalowanych
na komputerach) a nie 99% to obsługuje.
> Dlatego jeśli programujesz pod konkretną przeglądarkę (np. jakiś
> wewnętrzny projekt firmowy), to nie potrzebujesz żadnych bibliotek. Ale
> jeśli efekt Twojej pracy ma być działający na wielu przeglądarkach to 1)
> albo sam napiszesz sobie cross-browserową obsługę protokołu
> XMLHttpRequest, 2) albo skorzystasz z gotowych rozwiązań.
Oooo! Właśnie. Trafiasz w sedno. Chcę sobie napisać cos takiego i
potrzebuję wskazówek. W tym wątku pytam w zasadzie o te wskazówki.
Potrzebuję banalny mechanizm do załadowania fragmentu strony wskutek
jakiegoś zdarzenia.
Wymyśliłem roboczo coś takiego, że JS utworzy niewidocznego iframe'a
przesyłając zapytanie do serwera GET'em (bo chyba POSTem się nie da, a może
się da gdy w iframie zrobiłbym samosubmitujący się formularz - muszę to
sprawdzić). Odpowiedź serwera trafi do tego iframe'a w postaci kodu HTML,
który potem przekopiuję w docelowe miejsce strony WWW. Następnie usunę
iframe'a programowo albo w ogóle zrobę z niego cos w rodzaju modalnego
okna.
>
>> Mogę tam się tylko dowiedzieć jak uzyć Ajaxa do zrealizowania transmisji
>> asynchronicznej co kompletnie mnie nie interesuje. Ja chcę wiedzieć jak w
>> JS zrealizować transmisję asynchroniczną bez stosowania jakichkolwiek
>> bibliotek. Nie chcę stosować Ajaxa ani się go uczyć.
>
> https://developer.mozilla.org/pl/AJAX/Na_pocz%C4%85t
ek
>
> Popatrz na Krok 1: "powiedz "Poproszę!", czyli jak wykonać zapytanie
> HTTP" - to jest dokładnie to, czego potrzebujesz. Gdybyś do tego miejsca
> doczytał to nie napisałbyś powyższych zdań.
Przeczytaj naszą konwersację. Cytujesz moje słowa, w których jest " Ja chcę
wiedzieć jak w JS zrealizować transmisję asynchroniczną bez stosowania
jakichkolwiek bibliotek". Tymczasem co jest pod tym linkiem? Odpowiedź: jak
używać bibliotekę Ajaxa.
Dlaczego więc czynisz mi zarzut z tego, że nie doczytałem czegoś? Sam
przyznasz, że komentujesz to w sposób absurdalny.
Z linku jaki mi dałeś bardziej zainteresowałbym się kodem źródłowym
ActiveXObject bo pewnie tam drzemie odpowiedź na moje pytania. Jednakże już
wspominałem - wolę uniknąć analizowania złożonego cudzego kodu, bo często
jest on tak nieczytelny, że mnóstwo czasu trzeba poświęcić na uzyskanie
prostej odpowiedzi.
>
>> Nie rozumiem za bardzo skąd jest taki opór w Was aby w 3 zdaniach opisać
>> jak najlepiej zrealizować zagadnienie bez tych bibliotek? Skąd ten
>> problem?
>
> Nie ma takiej potrzeby, ponieważ już to zostało świetnie opisane na
> Mozilla Developer Center. I to w dodatku po polsku. Co się rzadko zdarza.
Ale cały czas mówisz o Ajaxie, tak? Dla mnie Ajax to biblioteka.
Następne wpisy z tego wątku
- 03.02.12 14:47 Marek
- 03.02.12 14:49 Marek
- 03.02.12 15:50 monter.FM
- 03.02.12 20:17 M.G.
- 03.02.12 20:58 Konrad Karpieszuk
- 03.02.12 21:36 M.G.
- 03.02.12 21:38 M.G.
- 03.02.12 22:37 Marek
- 03.02.12 22:59 Cezary Tomczyk
- 03.02.12 23:02 Jordan Szubert
- 03.02.12 23:42 Marek
- 04.02.12 00:02 Jordan Szubert
- 04.02.12 00:04 Marek
- 04.02.12 00:07 Marek
- 04.02.12 00:20 Mirosław Zalewski
Najnowsze wątki z tej grupy
- Jakie znacie działające serwery grup dyskusyjnych?
- is it live this group at news.icm.edu.pl
- php, linki z nazwami a $_GET, SEO
- www polityka pl captcha
- dyktatura brudnego palucha
- www.znanylekarz.pl
- Czy pytanie o sczytywanie stron programami/skryptami to tu?
- Grupy webdevowe
- Jak wydrukować stronę?
- IIS, kilka witryn
- linki <a href="/strona.php"> (ze slashami)
- co rozszerza stronę??
- responsywny akapit <p>
- Czy istnieje jakiś emulator przeglądarek pod Mac'a?
- taka sama konfiguracja dla localhost i produkcji
Najnowsze wątki
- 2025-03-22 Warszawa => NMS System Administrator <=
- 2025-03-22 Warszawa => Analityk IT (projekty z obszaru telco) <=
- 2025-03-22 Orzeczenie TSUE
- 2025-03-22 Warszawa => Operations Support Systems (OSS) Team Leader <=
- 2025-03-22 Warszawa => Scrum Master <=
- 2025-03-22 Warszawa => Senior Account Manager <=
- 2025-03-22 Warszawa => BI Developer / Analityk BI <=
- 2025-03-22 Warszawa => IT Recruiter <=
- 2025-03-21 Zakaz wjazdu
- 2025-03-21 Nie zawsze wchodzi jedynka
- 2025-03-21 Samochody na wodę
- 2025-03-20 miszczowie parkowania
- 2025-03-20 "Wuj dobra rada" z KDAB rozważa: Choosing the Right Programming Language for Your Embedded Linux Device
- 2025-03-21 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-03-21 Warszawa => Strategic Account Manager <=