Accueil > > > AJAX EN MOINS DE 50 LIGNES
AJAX EN MOINS DE 50 LIGNES
Information sur la source
Description
class ajax super réduite pour les noob :) , pas de gestion d'erreur ni de formulaire, mais reconnaissance du type de format de retour . exemple: oublier pas le serveur sinon ca marche po :( <script type="text/javascript" src="js/ajax.js"></script> <script> monObj={ maPropriete:'moi', maFonctionAjax : function(){ ObjAJAX = new Ajax({ url : "test.txt", returnFormat : "txt", method : "POST", data : { test : "'''''", test1 : "4", test2 : "555" }, asynchronus : true, onComplete :this.maFonctionDeRetour.bind(this) }); }, maFonctionDeRetour : function(response){ alert(response+'+'+this.maPropriete) } }; monObj.maFonctionAjax(); </script>
Source
- // permet de referencer l objet lors de l apel d une fonction
- Function.prototype.bind = function(object) {
- var __method = this;
- return function() {
- return __method.apply(object, arguments);
- }
- }
- function Ajax(property){
- // ini des variables
- var url = property.url;
- var data = '';
- for (j in property.data)
- data += "&" + j + "=" + escape(property.data[j]);
- var method = property.method || 'GET';
- var asyn = property.asyn ;
- var onComplete = property.onComplete;
- var returnFormat = property.returnFormat || "txt";
- // construit l objet requeteur
- if (window.XMLHttpRequest)
- this.obj = new XMLHttpRequest();
- else if (window.ActiveXObject)
- this.obj = new ActiveXObject("Microsoft.XMLHTTP");
- //envoie la requete et appel le callback
- this.obj.open(method,url,asyn);
- if (method == "POST")
- this.obj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
- if (asyn){
- this.obj.onreadystatechange = function () {
- if (this.obj.readyState == 4 && this.obj.status == 200)
- if (returnFormat != "txt")
- response = this.obj.responseXML;
- else response = this.obj.responseText;
- onComplete(response);
- }.bind(this)
- this.obj.send(data);
- }else{
- this.obj.send(data);
- if (this.obj.status == "200"){
- if (returnFormat != "txt")
- response = this.obj.responseXML;
- else response = this.obj.responseText;
- onComplete(response);
- }
- }
- }
// permet de referencer l objet lors de l apel d une fonction
Function.prototype.bind = function(object) {
var __method = this;
return function() {
return __method.apply(object, arguments);
}
}
function Ajax(property){
// ini des variables
var url = property.url;
var data = '';
for (j in property.data)
data += "&" + j + "=" + escape(property.data[j]);
var method = property.method || 'GET';
var asyn = property.asyn ;
var onComplete = property.onComplete;
var returnFormat = property.returnFormat || "txt";
// construit l objet requeteur
if (window.XMLHttpRequest)
this.obj = new XMLHttpRequest();
else if (window.ActiveXObject)
this.obj = new ActiveXObject("Microsoft.XMLHTTP");
//envoie la requete et appel le callback
this.obj.open(method,url,asyn);
if (method == "POST")
this.obj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
if (asyn){
this.obj.onreadystatechange = function () {
if (this.obj.readyState == 4 && this.obj.status == 200)
if (returnFormat != "txt")
response = this.obj.responseXML;
else response = this.obj.responseText;
onComplete(response);
}.bind(this)
this.obj.send(data);
}else{
this.obj.send(data);
if (this.obj.status == "200"){
if (returnFormat != "txt")
response = this.obj.responseXML;
else response = this.obj.responseText;
onComplete(response);
}
}
}
Historique
- 28 avril 2008 17:21:47 :
- j avais oublier le bind dans la fonction de retour
- 28 avril 2008 21:18:07 :
- modifier grace au commentaire de ralecul
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Rechargement d'objet "AJAX" [ par benjiman2 ]
Bonjour !Voila, je commence tout juste a programmer en AJAX ...et voila mon probleme ...Je voudrai que chaque 2 secondes, la page se rafraichisse dans
AJAX - XMLHttpRequest - il ne veux pas afficher [ par jnbdzjnbdz ]
Bonjour je viens de commencer avec ajax. Et je suis déjà entrain de développer une petite application web. Si vous aller ici:<a target="_blank" hr
Ajax et IE7 [ par arnaultp ]
Bonjour à tous!Je viens de me mettre à l'AJAX, et en reprenant un tutorial j'ai une erreur (voire 2 d'ailleurs) qui apparaît et que je n'arrive pas à
Ajax : variable de réponse [ par chapata ]
Bonjour à tous,(j'espère avoir posté dans le bon endroit ...)voilà je suis débutant en Ajax, je me suis inspiré des différentes méthodes sur le forum.
Ajax - Impossible d'appeler ma page [ par darude94 ]
Bonjour,Voici mon soucis, en cliquant sur le lien supprimer je voudrais supprimer l'element sans rafraichir le probleme et que je ne parviens pas jusq
probleme internet explorer et ajax [ par momo11985 ]
Bonjour J'ai réaliser une application d'autocompletion en ajax.Cette application marche très bien avec firefox mais ne fonctionne pas sous internet
Jquerry Jgrowl et Ajax [ par monoski ]
Jgrowl est un plugin de Jquery permettant d'afficher des message inobstrusif de notification à la façon de Growl de Mac (pour situer le problème). Ce
angles arrondis et navigation ajax [ par clavz40 ]
Bonjour tout le monde, Je créai actuellement un site web et rencontre un petit souci. Je vous explique, j’ai arrondi les angles de mes div via le s
Execution d'un JS appelé par AJAX [ par soularix ]
Bonjour, Je suis débutant (plutôt amateur) et je n'arrive pas [^^sad1] exécuter un JS appelé par un AJAX. Voici un exemple simplifié de ce que je veu
Simple fonction de calcul [ par jebalialaeddinecpp ]
Bojour, Pour un mini-projet en Mathématique j'ai besoin de faire un petit code en JS pour calculer la somme de plusieurs inputs... J'ai trouvé ce code
|
Derniers Blogs
XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Je m'y prends un peu tard je sais, mais bon je suis développeur web et donc hyper fainéant ! Toujours dans le cadre des technologies émergentes, ici HTML5, parce qu'on aime HTML5 chez Wyg , nous seront présent, le vieux ( Aurélien V.) et moi, pour pr...
Cliquez pour lire la suite de l'article par Gio [WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|