luni, 6 mai 2013

Ajax - discutia cu serverul

Acum trebuie sa invatam sa utilizam proprietatile si metodele obiectului XMLHTTPRequest pentru a-i permite sa trimita cereri catre server si sa primeasca date de la acesta.

Dupa cum ati vazut in tutorialul trecut:

Crearea obiectului XMLHTTPRequest este destul de simplu, urmeaza sa creem si trimite cereri catre server si analiza raspunsurile primite.

Sa trecem direct la lucru si sa creem un obiect XMLHTTPRequest si apoi o functie JavaScript pentru a trimite o cerere asincrona:
-------------------------------------------
function getXMLHTTPRequest(){
var req = false;
try {
req = new XMLHTTPRequest();
}
catch(err1)
}
try {
req = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(err2)
{
try {
req = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(err3)
{
req = false;
}
}
}
return req;
}
var myRequest = getXMLHTTPRequest();
function callAjax() {
//declararea unei variabile care sa pastreze informatiile transmise catre server
var lastname='Smith';
//construirea adresei URL a scriptului de server pe care dorim sa-l apelam
var url = "myserverscript.php?surname=" + lastname;
//cerem obiectului nostru XMLHTTPRequest sa deschida o conexiune la server
myRequet.open("GET", url, true);
//pregatirea unei functii responseAjax() care va rula la sosirea raspunsului
myRequest.onreadystatechange = responseAjax;
// trimiterea cererii
myRequest.sent(null);
---------------------------------------------------------------------------------------------------------------

Sa dezvoltam aplicatia sa vedem daca functioneaza. Avem nevoie de urmatoarele fisiere:

  • index.html
-----------------------------------------------------------------------------
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="ajaxreq.js">

</script>
</head>
<body>
<div id="myDiv"><h2>Let AJAX change this text</h2></div>
<button type="button" onclick="loadXMLDoc()">Change Content</button>
</body>
</html>
------------------------------------------------------------------------------
  • ajaxreq.js
--------------------------------------------------------------------------------
function loadXMLDoc()
{
var xmlhttp;
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","index.txt",true);
xmlhttp.send();
}
-------------------------------------------------------------------------------------
  • index.txt
----------------------------------------------------------------------------------------
Salut!
Acesta este un fisier de pe Server.
-----------------------------------------------------------------------------------------

Dupa rularea scriptului trebuie sa fie afisat mesajul din index.txt.
"+"Joe Reed

duminică, 5 mai 2013

AJAX - anatomia unei aplicatii

<!DOCTYPE html>
<html>
<head>
<script>
function loadXMLDoc()
{
var xmlhttp;
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","ajax_info.txt",true);
xmlhttp.send();
}
</script>
</head>
<body>

<div id="myDiv"><h2>Let AJAX change this text</h2></div>
<button type="button" onclick="loadXMLDoc()">Change Content</button>

</body>
</html>

Let AJAX change this text





  • Obiectul XMLHTTPRequest
- este acceptat de aproape toate browserele moderne, si este suportat de o multitudine de platforme.
Scopul obiectului XMLHTTPRequest este de a permite ca JavaScript sa formuleze cereri HHTTP si sa le trimita catre server. Aplicatiile web programate in mod traditional relizeaza de obicei astfel de cereri in mod sincron, ceea ce are ca rezultat transmiterea catre browser a unei pagini noi sau actualizate.

Utilizand insa obiectul XMLHTTPRequest puteti pune pagina sa efectueze astfel de apelari in mod asincron, in fundal, ceea ce va permite utilizarea paginii fara intreruperi cauzate de reimprospatarea browserului.

Pentru majoritatea browserelor care accepta XMLHTTPRequest ca un obiect nativ(Mozilla, Opera si restul), crearea unei instante a aecestui obiect este simpla si directa:

var request = new XMLHTTPRequest();

Pentru Microsoft Internet Explorer trebuie sa creati un obiect ActiveX:

var request = new ActiveXObject("Microsoft.XMLHTTP")



MethodDescription
open(method,url,async)Specifies the type of request, the URL, and if the request should be handled asynchronously or not.

method: the type of request: GET or POST
url: the location of the file on the server
async: true (asynchronous) or false (synchronous)
send(string)Sends the request off to the server.

string: Only used for POST requests

Metoda open()
- pregateste obiectul XMLHTTPRequest pentru a comunica cu serverul si are cel putin 2 argumente obligatorii:

  1. precizarea metodei HTTP pe care intentionati sa o utilizati GET sau POST,
  2. adresa URL de destinatie a cererii, pentru GET aceasta adresa trebuie sa fie codificata corespunzator.
Din motive de securitate, obiectului XMLHTTPRequest i se permite sa comunice doar cu adrese URL din interiorul propriului domeniu.
The url parameter of the open() method, is an address to a file on a server:
xmlhttp.open("GET","ajax_test.asp",true);
The file can be any kind of file, like .txt and .xml, or server scripting files like .asp and .php (which can perform actions on the server before sending the response back).

Metoda send()

Dupa ce ati pregatit obiectul cu metoda open(), puteti trimite cererea cu metoda send(). 

Limbajul PHP

Prima data trebuie sa raspundem la intrebarea: Ce poate face PHP?

Orice. PHP este axat în principal pe scripting de partea server-ului, deci puteți realiza cu el orice poate realiza un alt program CGI, cum ar fi colectarea datelor din forme, generarea conținutului dinamic al paginilor sau trimiterea și primirea cookies. Dar PHP poate face mult mai multe.
Sunt trei domenii principale, unde scripturile PHP sunt utilizate.
  • Scripting de partea serverului. Acesta este cel mai tradițional și de bază domeniu al PHP. Aveți nevoie de trei lucruri pentru ca aceasta să funcționeze. Analizatorul PHP (în calitate de CGI, sau modul pentru server), un server web și un navigator web. Trebuie să rulați serverul web cu o instalare PHP conectată la el. Puteți accesa ieșirile programului PHP cu navigatorul web, vizualizând pagina PHP prin server. Toate acestea pot rula pe computerul dumneavoastră de acasă, dacă doar experimentați cu programarea în PHP. Citiți secțiunea cu instrucțiuni de instalare pentru informații suplimentare.
  • Scripting în linia de comandă. Puteți să faceți un script PHP să ruleze fără un server și navigator web. Aveți nevoie doar de analizatorul PHP pentru a-l utiliza în acest mod. Acest mod de utilizare este ideal pentru script-uri executate în mod regulat cu cron (pe *nix sau Linux) sau cu Task Scheduler (pe Windows). Aceste script-uri pot fi utilizate de asemenea pentru lucrări simple de procesare a textelor. Citiți secțiunea despre Utilizarea PHP în linia de comandă pentru informații suplimentare.
  • Scrierea aplicațiilor de birou. PHP probabil că nu este cel mai potrivit limbaj pentru a crea o aplicație de birou cu o interfață grafică a utilizatorului, dar dacă cunoașteți PHP foarte bine și doriți să utilizați unele facilități avansate ale PHP în aplicații de partea clientului, puteți să utilizați PHP-GTK pentru a scrie asemenea aplicații. De asemenea aveți posibilitatea să scrieți în acest mod aplicații ce vor rula pe mai multe platforme. PHP-GTK este o extensie a PHP, care nu este disponibilă în distributivul de bază. Dacă v-a interesat PHP-GTK, vizitați » propriul său website.

sâmbătă, 4 mai 2013

Vizualizati ora exacta in diferite orase din lume - KDE

Utilizatorii desktopului KDE pot urmarii ora exacta din foarte multe orase de pe glob.

Pentru asta trebuie sa configurati ceasul digital din bara de stare, seta ora si selecta orasele pe care sa le adaugati.
Dati click-dreapta pe ceasul digital din bara de stare si alegeti Digital Clock Settings, dupa care selectati Time Zones, scrieti numele orasului pe care il cautati. In momentul cand l-ati gasit selectati casuta corespunzatoare. Urmati acelasi proces si pentru urmatoarele orase.

Pentru a incheia setarea apasati OK. Vizualizati orele din orasele selectate ducand cursorul mouse-ului deasupra ceasului din bara de stare.