// przechowuje odwołanie do obiektu XMLHttpRequest
var xmlHttp = createXmlHttpRequestObject();
// zwraca obiekt XMLHttpRequest
function createXmlHttpRequestObject()
{
// przechowa odwołanie do obiektu XMLHttpRequest
var xmlHttp;
// jeśli uruchomiony jest Internet Explorer
if(window.ActiveXObject)
{
try
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
xmlHttp = false;
}
}
// jeśli uruchomiona jest Mozilla lub inne przeglądarki
else
{
try
{
xmlHttp = new XMLHttpRequest();
}
catch (e)
{
xmlHttp = false;
}
}
// zwraca utworzony obiekt lub wyświetla komunikat o błędzie
if (!xmlHttp)
alert("Błąd podczas tworzenia obiektu XMLHttpRequest.");
else
return xmlHttp;
}
// wysyła asynchroniczne żądanie protokołem HTTP korzystając z obiektu XMLHttpRequest
function process()
{
// kontynuuje jedynie jeśli obiekt xmlHttp nie jest zajęty
if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
{
// pobiera imię wpisane przez użytkownika w formularzu
name = encodeURIComponent(document.getElementById("myName").value);
song = encodeURIComponent(document.getElementById("song").value);
u = encodeURIComponent(document.getElementById("u").value);
// wykonuje stronę quickstart.php na serwerze
xmlHttp.open("GET", "quickstart.php?name=" + name + "&song=" + song + "&u=" + u, true);
// definiuje metodę obsługi odpowiedzi serwera
xmlHttp.onreadystatechange = handleServerResponse;
// wysyła żądanie do serwera
xmlHttp.send(null);
}
else
// jeśli połączenie jest zajęte, ponawia próbę po 1 sekundzie
setTimeout('process()', 1000);
}
// wykonywana automatycznie po otrzymaniu odpowiedzi z serwera
function handleServerResponse()
{
myDiv = document.getElementById("myDivElement");
if (xmlHttp.readyState == 1 || xmlHttp.readyState == 2 || xmlHttp.readyState == 3 )
{
document.getElementById("divMessage").innerHTML = "
<img src='obrazki/load.gif'>";
}
// kiedy status readyState wynosi 4, odczytujemy odpowiedź serwera
else if (xmlHttp.readyState == 4)
{
// status 200 oznacza pomyślne ukończenie transakcji
if (xmlHttp.status == 200)
{
// wyodrębnia wiadomość XML wysłaną z serwera
xmlResponse = xmlHttp.responseXML;
// pobiera element nadrzędny ze struktury pliku XML
xmlDocumentElement = xmlResponse.documentElement;
// pobiera wiadomość tekstową pierwszego potomka elementu document
helloMessage = xmlDocumentElement.firstChild.data;
// aktualizuje dane wyświetlane klientowi informacjami otrzymanymi z serwera
document.getElementById("divMessage").innerHTML = '
<i>' + helloMessage + '
</i>';
// ponawia sekwencję
}
// dla statusu protokołu HTTP innego niż 200 zgłasza błąd
else
{
alert("Wystąpił błąd podczas uzyskiwania dostępu do serwera: " + xmlHttp.statusText);
}
document.getElementById("divMessage").innerHTML = "
<img src='obrazki/glosprzyjety.png'>";
}
}
////////2222222222222///////////
function komcio()
{
// kontynuuje jedynie jeśli obiekt xmlHttp nie jest zajęty
if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
{
// pobiera imię wpisane przez użytkownika w formularzu
komentarz = encodeURIComponent(document.getElementById("komentarz").value);
song_id = encodeURIComponent(document.getElementById("song_id").value);
user = encodeURIComponent(document.getElementById("user").value);
// wykonuje stronę quickstart.php na serwerze
xmlHttp.open("GET", "komencik.php?komentarz=" + komentarz + "&song_id=" + song_id + "&user=" + user, true);
// definiuje metodę obsługi odpowiedzi serwera
xmlHttp.onreadystatechange = handleServerResponse;
// wysyła żądanie do serwera
xmlHttp.send(null);
}
else
// jeśli połączenie jest zajęte, ponawia próbę po 1 sekundzie
setTimeout('komcio()', 1000);
}
// wykonywana automatycznie po otrzymaniu odpowiedzi z serwera
function handleServerResponse()
{
myDiv = document.getElementById("elemencik");
if (xmlHttp.readyState == 1 || xmlHttp.readyState == 2 || xmlHttp.readyState == 3 )
{
document.getElementById("wiadomosc").innerHTML = "
<img src='obrazki/load.gif'>";
}
// kiedy status readyState wynosi 4, odczytujemy odpowiedź serwera
else if (xmlHttp.readyState == 4)
{
// status 200 oznacza pomyślne ukończenie transakcji
if (xmlHttp.status == 200)
{
// wyodrębnia wiadomość XML wysłaną z serwera
xmlResponse = xmlHttp.responseXML;
// pobiera element nadrzędny ze struktury pliku XML
xmlDocumentElement = xmlResponse.documentElement;
// pobiera wiadomość tekstową pierwszego potomka elementu document
helloMessage = xmlDocumentElement.firstChild.data;
// aktualizuje dane wyświetlane klientowi informacjami otrzymanymi z serwera
document.getElementById("wiadomosc").innerHTML = '
<i>' + helloMessage + '
</i>';
// ponawia sekwencję
}
// dla statusu protokołu HTTP innego niż 200 zgłasza błąd
else
{
alert("Wystąpił błąd podczas uzyskiwania dostępu do serwera: " + xmlHttp.statusText);
}
document.getElementById("wiadomosc").innerHTML = "
<img src='obrazki/komcio_ok.png'>";
}
}