Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Neaktivní uživatel:8.7.2014 17:09

Hoj,

chci se zeptat, jestli nevíte kde jsou dobré články o Ajaxu, nejlépe v češtině, ale pokud nejsou, tak klidně i v AJ...

Jelikož tu jsem nic o ajaxu nenašel.
Chci se ho naučit využívat ale vůbec nevím z čeho začít.

Díky

Odpovědět
8.7.2014 17:09
Neaktivní uživatelský účet
Avatar
Odpovídá na Neaktivní uživatel
Michal Žůrek - misaz:8.7.2014 17:24

to je strašně primitivní. Celkem si vystačíš jakože s tímto kódem.

var xml = new XMLHttpRequest(); // vytvoříš hp
xml.open("get", "http://itnetwork.cz"); // dotážeš se, prví parametr = metoda (GET, POST, ...), druhý URL
xml.onreadystatechange = function () { // ověříme změnu stavu
    // pokud je readyState == 4 a statuc == 200, tak máme odpověď uloženou v xml.responseText
}
xml.send(); // odešleme jej

toto ti víceméně stáhne zdrojový kód HTML itnetworku, na serveru http://api.wunderground.com/…/Prague.json máš třeba počasí prahy, takže to můžeš využít i tak.

 
Nahoru Odpovědět
8.7.2014 17:24
Avatar
alex
Člen
Avatar
Odpovídá na Michal Žůrek - misaz
alex:8.7.2014 20:39

staci ak dam do

xml.open("get"," http://api.wunderground.com/…/Prague.json")

? , lebo to mi nefunguje

 
Nahoru Odpovědět
8.7.2014 20:39
Avatar
Odpovídá na alex
Michal Žůrek - misaz:8.7.2014 20:42

protože tam není ten key. :)

vyzkoušej toto:

http://api.wunderground.com/api/8dfb57ce32fda817/conditions/q/CZ/Prague.json
 
Nahoru Odpovědět
8.7.2014 20:42
Avatar
alex
Člen
Avatar
alex:8.7.2014 22:42

Nefunguje :/ , nemoze to byt tym ze to neuploadujem na server , ale spustam na locale? (resp. double click html file)(skusal som aj copy paste code z toho api do text documentu)

Editováno 8.7.2014 22:43
 
Nahoru Odpovědět
8.7.2014 22:42
Avatar
Benjibs
Člen
Avatar
Odpovídá na alex
Benjibs:9.7.2014 9:00

To by nemalo byť tým.

Prezri si ešte raz svoj kód, či je všetko ako ukazoval Michal Žůrek - misaz

var xml = new XMLHttpRequest();
xml.onreadystatechange = function () {
    if (xml.readyState === 4 && xml.status === 200) {
        var response = xml.responseText;
        // a ďalej robíš ...
}
xml.open("get", "http://api.wunderground.com/api/8dfb57ce32fda817/conditions/q/CZ/Prague.json", true);
xml.send();
Editováno 9.7.2014 9:01
Nahoru Odpovědět
9.7.2014 9:00
1 + 1 = 2
Avatar
Odpovídá na alex
Michal Žůrek - misaz:9.7.2014 11:06

nemůže, funguje to dobře.

var xml = new XMLHttpRequest();
xml.onreadystatechange = function () {
        if (xml.readyState === 4 && xml.status === 200) {
                var response = xml.responseText;

                var json = JSON.parse(response); // output je ve formátu JSON, naprastujeme zněj zpět objekt
                var temp = json.current_observation.temp_c; // vezmeme z něj stupně
                document.write("V praze by právě mělo být" + temp + " °C"); // dopíšeme to do stránky
        }
}
xml.open("get", "http://api.wunderground.com/api/8dfb57ce32fda817/conditions/q/CZ/Prague.json", true);
xml.send();
 
Nahoru Odpovědět
9.7.2014 11:06
Avatar
alex
Člen
Avatar
alex:9.7.2014 13:44

neviem ci som si nieco nevsimimol ale nefunguje mi to

function loadXMLDoc()
{
var xmlhttp;
if (window.XMLHttpRequest)
  {
  xmlhttp=new XMLHttpRequest();
  }
else
  {
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    var response = xmlhttp.responseText;
   var json = JSON.parse(response);
               var temp = json.current_observation.temp_c;
               document.write("V praze by právě mělo být" + temp + " °C");}
  }
xmlhttp.open("get","http://api.wunderground.com/api/8dfb57ce32fda817/conditions/q/CZ/Prague.json",true);
xmlhttp.send();

a html

<div id="myDiv"><h2>tu bude zmena</h2></div>
<button type="button" onclick="loadXMLDoc()">zmena</button>
Editováno 9.7.2014 13:44
 
Nahoru Odpovědět
9.7.2014 13:44
Avatar
Petr Čech
Tvůrce
Avatar
Odpovídá na alex
Petr Čech:9.7.2014 13:59
function loadXMLDoc()
{
   var xmlhttp;
   if (window.XMLHttpRequest)
   {
     xmlhttp=new XMLHttpRequest();
   }
   else
   {
     xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
   }

   xmlhttp.onreadystatechange=function()
   {
     if (xmlhttp.readyState==4 && xmlhttp.status==200)
     {
       var response = xmlhttp.responseText;
       var json = JSON.parse(response);
       var temp = json.current_observation.temp_c;
       myDiv.innerHTML=temp;
     }
   }

   xmlhttp.open("get","http://api.wunderground.com/api/8dfb57ce32fda817/conditions/q/CZ/Prague.json",true);
   xmlhttp.send();
}

používáš příšerné formátování, a proto jsi nejspíš přehlédl, že ti tam chybí uzavření té funkce. Navíc jsi tam nikde nevolal předělání textu v tom divu, document.write() se dá použít jen před tím, než se zavolá událost document.onload nebo tak nějak, prostě se tím nedá zapisovat za běhu, jen na začátku. Vlastně to vypadá, že jsi to jen špatně zkopíroval z w3c :D.

Editováno 9.7.2014 14:02
Nahoru Odpovědět
9.7.2014 13:59
the cake is a lie
Avatar
alex
Člen
Avatar
Odpovídá na Petr Čech
alex:9.7.2014 14:08

To uzavretie funkcie mam v documente (som sem zle skopiroval , a ano isiel som podla w3school), zmenu innerHTML som skusal ale stale mi to nefunguje , vypisuje to

No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access
Editováno 9.7.2014 14:08
 
Nahoru Odpovědět
9.7.2014 14:08
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 11 zpráv z 11.