AJAX

Programovacie jazyky, rady, poradňa...
beluský
Darca
Darca
Používateľov profilový obrázok
Príspevky: 317
Registrovaný: 21 sep 2006, 13:46

AJAX

Príspevok od používateľa beluský »

Potreboval by som si niečo naštudovať okolo Ajaxu, nejaké základy...
a chcem sa spýtať či sa to dá niekde doma skúšať... napr. či sa s tým dá pracovať v EasyPHP
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

samozrejme
zaggi
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 314
Registrovaný: 04 feb 2007, 19:32

Príspevok od používateľa zaggi »

http://www.w3schools.com/ajax/default.asp

ajax je len urcite rozsirenie klasickeho client-side javascriptu, mozes s nim pracovat v hociakom editore ktory zvlada javascript (alebo kludne aj v poznamkovom bloku ked nepotrebujes farebnu syntax)
pheo
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 212
Registrovaný: 20 sep 2005, 16:53
Bydlisko: moje hniezdo
Kontaktovať používateľa:

Príspevok od používateľa pheo »

NO určite môžeš písať aj v textovom editore podobne ako všetky programovacie jazyky ;) ale otázka je či chceš písať projekt o veľkosti jednej primitívnej stránky alebo niečo zložitejšie. V tom druhom prípade by som ti odporúčal jedno veľmi pekné free vývojové prostedie priamo na ajax (pokiaľ nie si "hard-core programmer" :) ) Kukni www.aptana.org
zaggi
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 314
Registrovaný: 04 feb 2007, 19:32

Príspevok od používateľa zaggi »

aptana uz je trosku nieco ine nez len klasicky ajax, mimo toho ze pouziva vlastny server (jaxer), vela veci robi za teba ktore nevidis ... ak sa chces naucit ako funguje ajax, tak s aptanou zacinat rozhodne neoporucam ale pekne w3schools a klasicky html editor

osobne odporucam bud visual studio 2008 (ta 2008 je tam dolezita, predchadzajuce verzie su s podporou html a javascriptu na tom horsie) alebo macromedia dreamweaver
gwixt
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3912
Registrovaný: 24 sep 2005, 16:50
Bydlisko: Trash-Can

Príspevok od používateľa gwixt »

ja ked som skusal robit nieco s ajaxom tak som najprv pozeral w3schoolds a neskor som hladal frameworky na to ..
a celkom sa mi osvedcil xajax ... jednoduchy na pochopenie a aj pouzitie a na zakladne veci bohato staci
pheo
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 212
Registrovaný: 20 sep 2005, 16:53
Bydlisko: moje hniezdo
Kontaktovať používateľa:

Príspevok od používateľa pheo »

zaggi napísal:aptana uz je trosku nieco ine nez len klasicky ajax, mimo toho ze pouziva vlastny server (jaxer), vela veci robi za teba ktore nevidis ... ak sa chces naucit ako funguje ajax, tak s aptanou zacinat rozhodne neoporucam ale pekne w3schools a klasicky html editor

osobne odporucam bud visual studio 2008 (ta 2008 je tam dolezita, predchadzajuce verzie su s podporou html a javascriptu na tom horsie) alebo macromedia dreamweaver
a co take robi za teba ? doplnuje syntax ? :) v aptane nemusis pouzit ziadne frameworky ale pekne si pisat svoje, neviem ako vy ale ja som ta zacinal, a osobne som ziadne frameworky nepouzival (trosku hardcore), aptana ma veľmi prijemne prekvapila tym že doplnuje syntax, ukazuje zavyslosti na roznych webovych prehliadačoch (čo pri písaní javascriptu je na nezaplatenie), nehovorim ze w3school je zle ale ty vasim pristupom by sme mohli pisat javu alebo c# rovno v poznamkovom bloku :) (co nevedie nikam). Osobne som využíval aptanu hodne a nic nerobila navyse co som nepotreboval - nie je tam ziaden wysiwig (pokiaľ viem) , okrem toho maju veľmipekne spravený tutorial na aptana.tv Co sa tyka jaxeru - ten som nikdy nepozil a da sa aptana pozívat aj bez neho - ja som pouzíval kombináciu aptana apache. Takze v skratke aptana obsahuje kopu nastrojov ktore sa my veľmi hodili - od validácií css javasriptu html az ..... pritom ak clovek trosku pracuje s vývojovými prostrediami (ako je eclipse prípadne netbeans ) tak nemá problém.
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

pheo napísal:v aptane nemusis pouzit ziadne frameworky ale pekne si pisat svoje
to píšeš ako keby som ich inde musel používať.
zaggi
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 314
Registrovaný: 04 feb 2007, 19:32

Príspevok od používateľa zaggi »

pheo napísal:..... pritom ak clovek trosku pracuje s vývojovými prostrediami (ako je eclipse prípadne netbeans ) tak nemá problém.
ved aptana je plugin pre eclipse ... (da sa stiahnut aj standalone ale princip je rovnaky)

mne sa tam proste nepaci ta integracia jaxera, viem ze to nemusim pouzivat ale proste to tam ani nechcem vidiet ... kto to kedy videl realizovat server-side kod v mozilla engine ...
beluský
Darca
Darca
Používateľov profilový obrázok
Príspevky: 317
Registrovaný: 21 sep 2006, 13:46

Príspevok od používateľa beluský »

Ajax uz pouzivam dlhsie, nedavno som sa stretol s chybou ktoru si neviem vysvetlit. Chyba sa vyskytuje len v Internet exploreri. Prehliadac tvrdi, ze je chyba na tomto riadku:

Kód: Vybrať všetko

document.getElementById("nejake_id").innerHTML = xmlHttp.responseText;
pricom ked dam namiesto tohoto riadku riadok

Kód: Vybrať všetko

document.getElementById("nejake_id").innerHTML = 'nejaky text';
tak vsetko krasne funguje....

Takto vyzera cela funkcia, pouzival som ju uz xkrat a nikdy nebol problem..

Kód: Vybrať všetko

function nejaka_f(id) 
{
  xmlHttp = GetXmlHttpObject();
   
  if (xmlHttp == null) 
  {
    alert("Browser does not support HTTP Request");
    return false;
  }
  
  if( !id) id= "";
  
  var url = "nieco.php";
  url += "&id="+id;
  
  xmlHttp.onreadystatechange = function() 
  {
    if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") 
    {
      document.getElementById("nejake_id").innerHTML = xmlHttp.responseText;
    }
  }
  
  xmlHttp.open("GET",url, true);
  xmlHttp.send(null);
}
stretol sa uz niekto s niecim podobnym?
zaggi
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 314
Registrovaný: 04 feb 2007, 19:32

Príspevok od používateľa zaggi »

beluský napísal:Ajax uz pouzivam dlhsie, nedavno som sa stretol s chybou ktoru si neviem vysvetlit. Chyba sa vyskytuje len v Internet exploreri. Prehliadac tvrdi, ze je chyba na tomto riadku ....
uz velmi dlho developujem v ajaxe a viem ze IE (aj ine browsre) ti ku kazdej chybe hodia nejaku hlasku ... takze by sa hodilo keby si ju sem aj napisal ... skusal si si to oddebugovat vo visual studiu?
beluský
Darca
Darca
Používateľov profilový obrázok
Príspevky: 317
Registrovaný: 21 sep 2006, 13:46

Príspevok od používateľa beluský »

hlaska je doslo k neznamej chybe pocas prace.. nepytal by som sa keby to bola chyba viac vravuca
zaggi
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 314
Registrovaný: 04 feb 2007, 19:32

Príspevok od používateľa zaggi »

beluský napísal:hlaska je doslo k neznamej chybe pocas prace.. nepytal by som sa keby to bola chyba viac vravuca
1. v zivote som nedostal slovensku exception ;-)
2. debug?
3. mas to niekde kde sa to da browsnut?
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

beluský napísal:Ajax uz pouzivam dlhsie, nedavno som sa stretol s chybou ktoru si neviem vysvetlit. Chyba sa vyskytuje len v Internet exploreri. Prehliadac tvrdi, ze je chyba na tomto riadku:

Kód: Vybrať všetko

document.getElementById("nejake_id").innerHTML = xmlHttp.responseText;
pricom ked dam namiesto tohoto riadku riadok

Kód: Vybrať všetko

document.getElementById("nejake_id").innerHTML = 'nejaky text';
tak vsetko krasne funguje....

Takto vyzera cela funkcia, pouzival som ju uz xkrat a nikdy nebol problem..

Kód: Vybrať všetko

function nejaka_f(id) 
{
  xmlHttp = GetXmlHttpObject();
   
  if (xmlHttp == null) 
  {
    alert("Browser does not support HTTP Request");
    return false;
  }
  
  if( !id) id= "";
  
  var url = "nieco.php";
  url += "&id="+id;
  
  xmlHttp.onreadystatechange = function() 
  {
    if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") 
    {
      document.getElementById("nejake_id").innerHTML = xmlHttp.responseText;
    }
  }
  
  xmlHttp.open("GET",url, true);
  xmlHttp.send(null);
}
stretol sa uz niekto s niecim podobnym?

Kód: Vybrať všetko

xmlHttp = GetXmlHttpObject();
   
  if (xmlHttp == null) 
  {
    alert("Browser does not support HTTP Request");
    return false;
  }
skús nahradiť týmto:

Kód: Vybrať všetko

var xmlHttp;
if (window.XMLHttpRequest)
  {
  // code for IE7+, Firefox, Chrome, Opera, Safari
  xmlHttp=new XMLHttpRequest();
  }
else if (window.ActiveXObject)
  {
  // code for IE6, IE5
  xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
else
  {
  alert("Browser does not support HTTP Request");
  }
beluský
Darca
Darca
Používateľov profilový obrázok
Príspevky: 317
Registrovaný: 21 sep 2006, 13:46

Príspevok od používateľa beluský »

skús nahradiť týmto:

Kód: Vybrať všetko

var xmlHttp;
if (window.XMLHttpRequest)
  {
  // code for IE7+, Firefox, Chrome, Opera, Safari
  xmlHttp=new XMLHttpRequest();
  }
else if (window.ActiveXObject)
  {
  // code for IE6, IE5
  xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
else
  {
  alert("Browser does not support HTTP Request");
  }
presne to robi moja funkcia GetXmlHttpObject()
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

A čo sa zobrazí, keď tam dáš alert((typeof xmlHttp.readyState) + "\n" + xmlHttp.readyState)?
beluský
Darca
Darca
Používateľov profilový obrázok
Príspevky: 317
Registrovaný: 21 sep 2006, 13:46

Príspevok od používateľa beluský »

chrono napísal:A čo sa zobrazí, keď tam dáš alert((typeof xmlHttp.readyState) + "
" + xmlHttp.readyState)
?
V kazdom prehliadaci co mam vypise toto

Kód: Vybrať všetko

number
4

cize to je podla mna v poriadku...

//autoeditácia príspevku ( 22 Jun 2009, 10:51 )
Po odoslani poziadavky ajaxom tuto poziadavku spracuva php skript (napr. ajax-skript.php).

Kód: Vybrať všetko

<?php
print 'ahoj';
?>
ak som obsah tohto skriptu nahradil obsahom

Kód: Vybrať všetko

<p>ahoj</p>
vsetko islo ako malo...
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Teraz som si všimol, že som to zle skopíroval. Pôvodne ma zaujímala hodnota responseText. :)
beluský
Darca
Darca
Používateľov profilový obrázok
Príspevky: 317
Registrovaný: 21 sep 2006, 13:46

Príspevok od používateľa beluský »

chrono napísal:Teraz som si všimol, že som to zle skopíroval. Pôvodne ma zaujímala hodnota responseText. :)
pouzil som porovnanie

Kód: Vybrať všetko

var result = xmlHttp.responseText;
alert(result == xmlHttp.responseText);
vracia true, v kazdom prehliadaci.. ked si ten text dam vypisat je presne taky ako ma byt..
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

beluský napísal:pouzil som porovnanie

Kód: Vybrať všetko

var result = xmlHttp.responseText;
alert(result == xmlHttp.responseText);
vracia true, v kazdom prehliadaci.. ked si ten text dam vypisat je presne taky ako ma byt..
samozrejme že to bude vracať true, veď sa pýtaš či jje 1=1, čo iné čakáš? On ti ale písal že tam máš dať responseText namiesto readyState. takže: alert(typeof(xmlHttp.responseText) + "\n" + xmlHttp.responseText)
Napísať odpoveď