Avatar
BlugW
Redaktor
Avatar
BlugW:

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
Pořiď si mac na www.appletrh.cz. Novinky a zajímavosti ze světa Apple na https://www.applemagazin.eu
Avatar
Odpovídá na BlugW
Michal Žůrek (misaz):

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  +1 8.7.2014 17:24
Nesnáším {}, proto se jim vyhýbám.
Avatar
alex
Člen
Avatar
Odpovídá na Michal Žůrek (misaz)
alex:

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):

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
Nesnáším {}, proto se jim vyhýbám.
Avatar
alex
Člen
Avatar
alex:

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:

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):

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
Nesnáším {}, proto se jim vyhýbám.
Avatar
alex
Člen
Avatar
alex:

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
Odpovídá na alex
Petr Čech (czubehead):
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
Why so serious? -Joker
Avatar
alex
Člen
Avatar
Odpovídá na Petr Čech (czubehead)
alex:

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.