-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!.POSTED!not-for-mail
From: Marek <p...@s...com>
Newsgroups: pl.comp.www
Subject: Re: JS - asynchroniczna komunikacja
Date: Fri, 3 Feb 2012 15:27:02 +0100
Organization: ICM, Uniwersytet Warszawski
Lines: 95
Message-ID: <1...@4...net>
References: <mhrcxx362il5.10uirtha6ig3n$.dlg@40tude.net>
<n...@4...net>
<1...@4...net>
<jge8qc$49n$1@inews.gazeta.pl>
<b3zj0zo3rq0n$.laq0revr8yqv.dlg@40tude.net> <jggb0g$2s$1@inews.gazeta.pl>
NNTP-Posting-Host: 89-77-9-206.dynamic.chello.pl
Mime-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
X-Trace: news.icm.edu.pl 1328279233 10667 89.77.9.206 (3 Feb 2012 14:27:13 GMT)
X-Complaints-To: u...@n...icm.edu.pl
NNTP-Posting-Date: Fri, 3 Feb 2012 14:27:13 +0000 (UTC)
User-Agent: 40tude_Dialog/2.0.15.41pl
Xref: news-archive.icm.edu.pl pl.comp.www:400374
[ ukryj 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-02-21 Warszawa => Key Account Manager IT <=
- 2025-02-21 Warszawa => Data Engineer (Tech Lead) <=
- 2025-02-21 Aliexpress zaczął oszukiwać na bezczelnego.
- 2025-02-21 Warszawa => System Architect (Java background) <=
- 2025-02-21 Kula w łeb
- 2025-02-21 Warszawa => System Architect (background deweloperski w Java) <=
- 2025-02-21 Warszawa => Solution Architect (Java background) <=
- 2025-02-21 Lublin => JavaScript / Node / Fullstack Developer <=
- 2025-02-21 Pawel S
- 2025-02-21 Warszawa => Key Account Manager (Usługi HR) <=
- 2025-02-21 Katowice => Senior Field Sales (system ERP) <=
- 2025-02-21 Chrzanów => Programista NodeJS <=
- 2025-02-21 Wrocław => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-02-21 Warszawa => Administrator Systemów Windows IT <=
- 2025-02-21 Wrocław => Specjalista ds. Sprzedaży (transport drogowy) <=