Curs Javascript

- Citire sirul de interogare din URL
- Despartirea sirului din interogare de URL


Modulul HTTP permite Node.js-ului sa receptioneze si sa transfere date prin Hyper Text Transfer Protocol (HTTP).
Pentru a include modulul HTTP foloseste metoda require()
const http = require('http');

Crearea unui Web server Node.js

Modulul HTTP poate crea un server HTTP care asculta porturile serverului si da un raspuns inapoi clientului.
Foloseste metoda createServer() pentru a crea un server HTTP:
//include the http module
const http = require('http');

//define constant for port
const port =8080;

//sets the server
const server = http.createServer((req, res)=> {
  res.writeHead(200, {'Content-Type':'text/plain'});
  res.write('Hello to me.');
  res.end();
});

//pass the port to server to listen to
server.listen(port, ()=> {
  console.log('Server running at //localhost:'+ port +'/');
});
Functia transmisa la metoda http.createServer() va fi executata cand cineva incearca sa acceseze calculatorul prin portul 8080.
Metoda res.writeHead() include headerele HTTP in raspuns.
Primul argument din metoda res.writeHead() este codul status, 200 inseamna ca totul este in regula, al doilea argument este un obiect care contine headerele de raspuns.
- Daca vrei sa afiseze continut cu taguri html, foloseste header-ul {'Content-Type':'text/html'}.

Am salvat codul de mai sus intr-un fisier numit "server.js" (in directorul "test/"), apoi am initiat fisierul:.

- Serverul Node.js trebuie sa fie initiat in programul "Command Line Interface" de pe calculatorul tau.
Pentru a deschide interfata command line in windows, apasa butonul Start si scrie "cmd" in casuta search.

In interfata windows command line, am navigat pana la directorul care contine aplicatia Node.js (E:/nodejs/), apoi pentru a initia scriptul "server.js", am scris "node test/server.js" si apas Enter.
In interfata windows command line, node.js va afisa: "Server running at //localhost:8080/".
cmd start Node.js
- Acum calculatorul functioneaza ca un server.

Deschid browserul si scriu in casuta adresa: http://localhost:8080
- Resultat:
browser Node.js
• Pentru a inchide serverul Node.js, apasa Ctrl+C in interfata windows command line sau pur si simplu inchide fereastra cmd.

Citire sirul de interogare din URL

Functia trecuta in http.createServer() are un argument "req" care represinta un obiect cu cererea de la client (obiectul http.IncomingMessage).
Acest obiect are o proprietate numita "url" care contine parte din url care vine dupa numele domeniului.

Pentru a testa, salveaza urmatorul cod intr-un fisier numit "demo_http_url.js" si initiaza fisierul in interfata command line.
const http = require('http');

const server = http.createServer((req, res)=> {
  res.writeHead(200, {'Content-Type':'text/plain'});
  res.write(req.url);
  res.end();
});

server.listen(8080, ()=> {
  console.log('Server running at //localhost:8080/');
});
Odata ce serverul Node.js este pornit, daca accesezi serverul in browser cu doua adrese diferite, ar trebui sa vezi doua rezultate diferite
De exemplu, adresa : //localhost:8080/coursesweb
- Produce acest rezultat:
/coursesweb
Accesand adresa : //localhost:8080/marplo?id=1
- Va produce acest rezultat:
/marplo?id=1

Despartirea sirului de interogare din URL

Poti folosi modulul URL integrat pentru a imparti sirul de interogare in parti care pot fi citite. Astfel, se poate afisa continut diferit in functie de datele din interogarea adresei URL.
Exemplu, imparte sirul de interogare in parti care pot fi citite si afiseaza continutul in functie de date din adresa URL.
//include http and url modules
const http = require('http');
const url = require('url');

//object width data for content
var cnt ={
  id:{1:'one', 2:'two', 3:'three'},
  nm:{'a':'Atom', 'e':'Electron', 'n':'Nothing'}
};

//create the server
const server = http.createServer((req, res)=> {
  res.writeHead(200, {'Content-Type':'text/html'}); //adds header to display html content

  //parse the url, get object with {name:value} from url query
  var q = url.parse(req.url, true).query;

  //get and write content from $cnt according to url data
  var cnt_id = cnt.id[q.id] ? cnt.id[q.id] :'No data for id';
  var cnt_nm = cnt.nm[q.nm] ? cnt.nm[q.nm] :'No data for nm';
  var add_cnt ='id '+ q.id +' = '+ cnt_id +'<br>nm '+ q.nm +' = '+ cnt_nm;

  res.write('<h3>'+ req.url +'</h3>'+ add_cnt);
  res.end();
});

server.listen(8080, ()=> {
  console.log('Server running at //localhost:8080/');
});
Salveaza codul de mai sus intr-un fisier numit "demo_url_query.js" si initiaza fisierul cu node.js in interfata command line.
Acceseaza in browserul tau adresa: //localhost:8080/?id=1&nm=a
Va produce acest rezultat:

/?id=1&nm=a

id 1 = one
nm a = Atom

Un Test simplu in fiecare zi

HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Ce tag HTML5 este indicat sa contina meniul cu link-uri de navigare in site?
<section> <nav> <article>
<nav><ul>
 <li><a href="http://coursesweb.net/css/" title="CSS Course">CSS Course</a></li>
 <li><a href="http://www.marplo.net/jocuri/" title="Flash Games">Flash Games</a></li>
</ul></nav>
Ce proprietate CSS muta elementrul in dreapta sau stanga de la locul unde e?
text-align clear float
.some_class {
  width: 30%;
  float: left;
}
Clic pe metoda obiectului Math care rotunjeste numarul x descrescator la cel mai apropiat intreg.
Math.ceil(x) Math.abs(x) Math.floor(x)
var num = 12.34567;
num = Math.floor(num);
alert(num);       // 12
Indicati functia PHP care returneaza numarul de caractere dintr-un sir.
mb_strlen() count() stristr()
$str = "sir cu caractere utf-8 åèö";
$nrchr = mb_strlen($str);
echo $nrchr;        // 29
Clic pe raspunsul potrivit la intrebarea: "When it happened?".
On the 7th of July 1996 It is a quarter to 5. Nice weather.
When it happened? On the 8th of August 2001.
- Cand s-a intamplat? Pe 8 August 2001.
Indicati raspunsul potrivit la intrebarea: "¿Cuando sucedió?".
Hace buen tiempo. En el 8 de Agosto de 2001 Son las tres menos cuarto.
¿Cuando sucedió? En el 8 de Agosto de 2001.
- Cand s-a intamplat? Pe 8 August 2001.
Node.js - Modul HTTP, Crearea unui server simplu

Last accessed pages

  1. Viitor perfect si Viitorul perfect continuu - Future perfect and Continuous (16593)
  2. Aleg locul doi sa il castig pe primul (73)
  3. Lucrul cu stiluri CSS (5164)
  4. Notiuni fundamentale despre bazele de date SQL (8683)
  5. Miscare text in buton (414)

Popular pages this month

  1. Prezentul simplu si continuu - Present Tense Simple and Continuous (2868)
  2. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (2789)
  3. Curs HTML gratuit Tutoriale HTML5 (2404)
  4. Curs CSS Online Tutoriale CSS3 (1914)
  5. Curs si Tutoriale JavaScript (1912)