eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.wwwJS - asynchroniczna komunikacjaRe: JS - asynchroniczna komunikacja
  • 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.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: