jQuery get() si post() sunt aplicatii ale metodei ajax().
Functiile get() si post()
$.get() si $.post() sunt functii mai simple pentru jQuery Ajax, ale metodei principale $.ajax() ; si sunt in general folosite pentru operatii simple de trimitere si primire date de la server.
Aceste doua functii sunt aproape identice, singura diferenta fiint tipul cererii HTTP: $.get va trimite datele prin GET, $.post trimite datele prin POST.
Sintaxa:
- url - adresa URL la care este trimisa cererea.
- data - (optional) contine datele care vor fi trimise la server.
- success - (optional) o functie care va fi executata cand cererea este efectuata cu succes, are forma: function(raspuns, status, xhr):
• raspuns - contine raspunsul de la server.
• status - contine status-ul (starea) cererii.
• xhr - obiectul XMLHttpRequest.
- dataType - (optional) specifica tipul de date ce trebuie sa fie in raspunsul din functia de la "success"; acesta poate fi: xml, html, script, json, jsonp, sau text.
Exemplu cu get()
Cand se apasa click pe un anumit buton, trimite niste date prin GET la un script PHP, apoi afiseaza raspunsul intr-un DIV:
<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>jQuery Ajax - GET</title>
<script type="text/javascript" src="jquery_1.6.1.js"></script>
<script type="text/javascript"><!--
$(document).ready(function() {
$('#buton').click(function() {
var data = 'id=un_id';
$.get('script.php', data, function(raspuns){
$('#dv').html(raspuns);
});
});
});
--></script>
</head>
<body>
<div id="dv">Aici va fi afisat raspunsul de la server.</div><br />
<button id="buton">Click</button>
</body>
</html>
Demo:
Aici va fi afisat raspunsul de la server.
Exemplu cu post()
Cand se efectueaza trimiterea unui formular, preia valoarea din caseta input text si o trimite prin POST la un script PHP. Raspunsul de la scriptul PHP va fi afisat intr-un DIV:
<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>jQuery Ajax - POST</title>
<script type="text/javascript" src="jquery_1.6.1.js"></script>
<script type="text/javascript"><!--
$(document).ready(function() {
$('form').submit(function() {
var data = 'nume='+$('#nm').val();
$.post('script.php', data, function(raspuns){
$('#dv').html(raspuns);
});
return false; // necesar ca sa nu deschida pagina cu adresa din formular cand e trimis
});
});
--></script>
</head>
<body>
<div id="dv">Aici va fi afisat raspunsul de la server.</div><br />
<form action="script.php" method="post">
Nume: <input type="text" name="nm" id="nm" /><br />
<input type="submit" value="Trimite" />
</form>
</body>
</html>