Salut
jQuery si toate framework-urile JavaScript folosesc in codul lor functiile originale JS, doar ca simplifica apelarea prin diferite instructiuni in functiile lor pe care sa nu le mai scrii tu.
Ajax JS e mai rapid fiindca nu mai folosesti o alta functie in plus pentru acea accesare, nici incarcarea unui framework. Oricum, diferenta e de sutimi de secunda dintre un Ajax original JS si jQuery, ceea e nu se cunoaste la utilizator.
Deci, e bine cu ceea ce stii sa faci, cu ce te pricepi mai bine.
Viteza /eficienta unei aplicatii ajax depinde si de scriptul de pe server, care a apelat.
- Personal, folosesc o functie pentru Ajax ca aceasta:
Cod: SelectaĊ£i tot
/* Ajax Function
Send "data" to "php", using the method added to "via", and pass response to "callback" function
data - object with data to send, name:value; ex.: {"name1":"val1", "name2":"2"}
php - address of the php file where data is send
via - request method, a string: 'post', or 'get'
callback - function called to proccess the server response
*/
function ajaxSend(data, php, via, callback) {
var ob_ajax = (window.XMLHttpRequest) ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP"); // XMLHttpRequest object
//put data from "data" into a string to be send to "php"
var str_data ='';
for(var k in data) {
str_data += k +'='+ data[k].replace(/\?/g, '%3F').replace(/=/g, '%3D').replace(/&/g, '%26').replace(/[ ]+/g, '%20') +'&'
}
str_data = str_data.replace(/&$/, ''); //delete ending &
//send data to php
ob_ajax.open(via, php, true);
if(via =='post') ob_ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
ob_ajax.send(str_data);
//check the state request, if completed, pass the response to callback function
ob_ajax.onreadystatechange = function() {
if (ob_ajax.readyState == 4) callback(ob_ajax.responseText);
}
}
//Example Usage
var form_data = {'name':'Nume', 'pass':'Parola'};
ajaxSend(form_data, 'test.php', 'post', function(resp){
alert(resp);
});
- E simpla de folosit la diferite apelari Ajax, doar se acceseaza ajaxSend() cu datele pentru parametri. Importanta e functia "callback", care primeste si proceseaza raspunsul de la server. Functia asta se poate face "anonima" (direct la argument) ca in exemplu din cod, sau separat, cu un nume, daca se foloseste aceleasi instructiuni la apelari diferite.
- Poate alt cineva are si o alta metoda de lucru cu Ajax, din care am putea invata.