Názory ke článku Ajax – 1. lekce – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Názory ke článku Ajax – 1. lekce – Programujte.comNázory ke článku Ajax – 1. lekce – Programujte.com

 

Názory ke článku Ajax – 1. lekce

meldo   NOVÝ
22. 7. 2008

Trosku v uvode mi chybalo vysvetlenie co to vlastne XMLHttpRequest objekt je a naco to je dobre.
Inak pekne a drzim palce v dalsom pokracovani.

matik   NOVÝ
23. 7. 2008

Alternativne riesenie:

function createXHR()

{
try { return new XMLHttpRequest(); } catch(e) {}
try { return new ActiveXObject("Msxml2.XMLHTTP.6.0"); } catch (e) {}
try { return new ActiveXObject("Msxml2.XMLHTTP.3.0"); } catch (e) {}
try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {}
try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {}
alert("XMLHttpRequest not supported");
return null;
}


zdroj s popisom: McGraw - Hill Ajax The Complete Reference 2008

Drzim palce v dalsom pokracovani ;o)

Prog.   NOVÝ
28. 7. 2008

Reagoval na komentář od uživatele matik :

Tvoje riešenie je korektné, narozdiel od toho v článku.
Dôvod znova vysvetľovať nebudem, aj tak bude tento príspevok za chvíľu zmazaný, rovnako ako všetky predchádzajúce....

To autor článku:

Prestaň opisovať z knižiek chybné kódy, a nauč sa základy javascriptu. Miesto mazania kritizujúcich príspevkov si skús priznať chybu.

plasmo   NOVÝ
29. 7. 2008

Reagoval na komentář od uživatele matik :

To udělá uplně to samé jak moje řešení, s tím rozdílem že já nastavení XHR jako AX udělám pomocí cyklu. Ale tohel je taky možné.

Earl Cash   NOVÝ
29. 7. 2008

koukam, ze diskuze je zajimavejsi nez samotny clanek...i to se da povazovat za uspech....jen tak dal.....

plasmo   NOVÝ
29. 7. 2008

Reagoval na komentář od uživatele Earl Cash :
To se sává i vlepších rodinách. Můžu slyšet ještě tvůj názor na moje řešení prosím?

Prog.   NOVÝ
30. 7. 2008

Reagoval na komentář od uživatele Petr Láslo :

O debatu som sa pokúsil, skúsim znova...

konflikt sa tyka tejto konštrukcie:

for( ... ; podmienka ; ... )

{
try { operacia ; }
catch(e) {}
}


tvrdim, že kod sa bude opakovať kým bude splnená podmienka, bez ohľadu na to, či operacia v koštrukcii try bude uspešná, alebo nie.

Týka sa to tohto kódu:

for(var i = 0; i < MSXmlVerze.lenght; i ++){  

try{
xhr = new ActiveXObject(MSXmlVerze[i]);
}catch(e){
//vzniklou chybu ignoruji a pokračuji nastavením další verze
}
}



pri každom iterovaní sa stane to:
- ak sa podarí vytvoriť objekt tak sa priradí do premmennej xhr
- ak sa nepodarí, tak sa vykoná prázdny blok catch(e) {}
- bez ohľadu na úspešnosť/neúspešnosť, sa bude iterovať ďalej, až po poslednú verziu, ktorá podporvaná je. Takže nakoniec bude v xhr objekt poslednej verzie zo zoznamu.

v prípade, že browser podporuje poslednú verziu (čo podporuje) je kód ekvivalentný s týmto:
xhr = new ActiveXObject(MSXmlVerze[MSXmlVerze.length-1]);


Tvoj argument bol, že try -catch ktorý je v cykle, tento cyklus ukončí po úspešnom vykonaní bloku try.
Pýtam sa: ktorá časť definície javascriptu o tom hovorí??? Resp. žiadal som ťa, aby si si ten kód prešiel cez debug.

plasmo   NOVÝ
30. 7. 2008

Reagoval na komentář od uživatele Prog. :
Tak teď jsem to zkoušel prohnat přes JavaScript debugger, nic, žádný problém.

Prog.   NOVÝ
30. 7. 2008

Reagoval na komentář od uživatele Petr Láslo :

Jou, tak som si skúsil ja spustiť tie tvoje zdrojáky, ..čoraz ďalej je to väčšia sranda...

Fakt si si to skúsil pustiť? Nemyslím na IE7, ale na starších... ...vôbec to nefunguje, lebo:

1. tie definície activeX objektov v poli MSXmlVerze sú... nesprávne,... neviem, mne ich IE6 ani IE5.5 neberú, zato tie od matik sú v pohode... Čo tak nájsť originálny zdroj ich definície?

2. ten cyklus pre hľadanie najnovšej verzie sa ti nikdy nespustí, je tam totiž chyba - prehodené písmenká MSXmlVerze.lenght

3. spomínaný problém s algoritmom, ktorý mi nechceš uveriť. Možno pomôže toto:

function vytvorXHR()
{
var xhr;
var verze = null;

try
{
alert('Skusam: XMLHttpRequest()');
xhr = new XMLHttpRequest();
verze = 'object XMLHttpRequest';
alert('OK');
}
catch(e)
{
alert('CHYBA!');

var MSXmlVerze = ['MSXML2.XMLHTTP.5.0',
'MSXML2.XMLHTTP.4.0',
'MSXML2.XMLHTTP.3.0',
'Msxml2.XMLHTTP',
'Microsoft.XMLHTTP'];

for(var i = 0; i < MSXmlVerze.length; i++)
{
try
{
alert('Skusam: '+MSXmlVerze[i]);
xhr = new ActiveXObject(MSXmlVerze[i]);
verze = 'activeX '+MSXmlVerze[i];
alert('OK');
/* tu chýba break; */
}
catch(e)
{
alert('CHYBA!');
//vzniklou chybu ignoruji a pokračuji nastavením další verze
}
}
}
if(!xhr)
{
alert("Chyba!");
return null;
}

alert('Vytvoreny: '+verze);
return xhr;
}
btw, microsoft odporúča použiť iba MSXML2.XMLHTTP.3.0 http://msdn.microsoft.com/en-us/library/ms535874.aspx

v prípade že to znova nepochopíš prosím zváž príspevky tohto typu. Nerýpal som, len sa mi dosť nepáčilo, že si zmazal niečo, čo začiatočníkov mohlo aspoň trocha nasmerovať pri problémoch, do ktorých by sa dostali tvojím "ztrateným informatívnym charakterom"...

plasmo   NOVÝ
30. 7. 2008

Tak se tedy omlouvám, byla to moje chyba. Kódy jsem upravil. Omlouvám se tedy. V tý knize ze které jsem se vše učil je vážně chyba a já inofrmacem v ní opravdu věřil. Děkuji

Přidej svůj názor

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo e-mailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Reaguješ na příspěvek:
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové názory e-mailem (pouze pro přihlášené)
Sleduj názory ke článku a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.



Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý