Salut,
Vreau sa incep o noua aplicatie si doresc s-o fac in ajax pentru a evita reincarcarile de pagina care sunt deranjante cind sunt multe.
Care ajax e mai rapid? Ajax JQuery sau ajax JS? Eu sint mai obisnuit cu ajax JQuery. Cum e mai bine? Fac o functie ajax pentru fiecare buton?
Pot sa fac o clasa care sa contina o functie ajax si sa-i pasez doar un array cu parametri?
Multumesc.
Intrebare functie ajax
-
- Mesaje:430
Intrebare functie ajax
MarPlo
Mesaje:4343
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:
- 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.
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);
});
- Poate alt cineva are si o alta metoda de lucru cu Ajax, din care am putea invata.
andras
Mesaje:430
MarPlo, am adoptat functia ta si merge super cu ajax! Am renuntat la reincarcarile de pagina si aplicatia incepe sa arate ca o aplicatie profesionista. Dar sint doar la inceput. Multumesc!