begin process at 2010 02 10 15:37:21
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Navigation

 > AJAXSIMPLIFIER EN UNE SEUL FONCTION ( GET && POST )

AJAXSIMPLIFIER EN UNE SEUL FONCTION ( GET && POST )


 Information sur la source

Note :
10 / 10 - par 9 personnes
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Navigation Classé sous :ajax, fonction, function, xmlhttprequest, requete Niveau :Initié Date de création :27/08/2006 Vu / téléchargé :14 537 / 1 387

Auteur : wizard512

Ecrire un message privé
Commentaire sur cette source (18)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Bonjours,
j'ai écrit se code pour essayer de facilité la vie aux programmeurs,
Afin qu'il puissent utilisé la technologie Ajax, sans problème,
qu'elle que soit leur requete ( POST OU GET )....
Ce code renvoya la reponse de la requete dans une div.

En espérent que cela aidera....

Source

  • <!--
  • function ObjectDiv( div , content )
  • {
  • if ( document.getElementById )
  • {
  • document.getElementById( div ).innerHTML = content;
  • }
  • else
  • {
  • if ( document.layers )
  • {
  • document.div.innerHTML = content;
  • }
  • else
  • {
  • document.all.div.innerHTML = content;
  • }
  • }
  • }
  • function Goto( FILE , METHOD , DATA , div )
  • {
  • if( METHOD == 'GET' && DATA != null )
  • {
  • FILE += '?' + DATA;
  • DATA = null;
  • }
  • var httpRequestM = null;
  • if( window.XMLHttpRequest )
  • { // Firefox
  • httpRequestM = new XMLHttpRequest();
  • }
  • else if( window.ActiveXObject )
  • { // Internet Explorer
  • httpRequestM = new ActiveXObject( "Microsoft.XMLHTTP" );
  • }
  • else
  • { // XMLHttpRequest non supporté par le navigateur
  • return "Votre navigateur ne supporte pas les objets XMLHTTPRequest...";
  • }
  • httpRequestM.open( METHOD , FILE , true );
  • httpRequestM.onreadystatechange = function()
  • {
  • if( httpRequestM.readyState == 4 )
  • {
  • ObjectDiv( div , httpRequestM.responseText );
  • }
  • }
  • if( METHOD == 'POST' )
  • {
  • httpRequestM.setRequestHeader( "Content-type" , "application/x-www-form-urlencoded" );
  • }
  • httpRequestM.send( DATA );
  • }
  • function ViewContent( div , href , method , data )
  • {
  • var wait = "<div align='center'>" +
  • "<b><font style='color:red;'>Chargement en cours.....</font></b><br><br>" +
  • "<img src='./loading.gif' border='0' alt='Chargement en cours....'>" +
  • "</div>";
  • ObjectDiv( div , wait );
  • Goto( href , method , data , div );
  • return false;
  • }
  • //-->
<!--

        function ObjectDiv( div , content )
        {
                if ( document.getElementById )
                {
                        document.getElementById( div ).innerHTML = content;
                }
                        else
                {
                        if ( document.layers )
                        {
                                document.div.innerHTML = content;
                        }
                                else
                        {
                                document.all.div.innerHTML = content;
                        }
                }
        }
        
        function Goto( FILE , METHOD , DATA , div )
        {
                if( METHOD == 'GET' && DATA != null )
                {
                        FILE += '?' + DATA;
                        DATA = null;
                }

                var httpRequestM = null;   

                        if( window.XMLHttpRequest )
                        {   // Firefox   
                            httpRequestM = new XMLHttpRequest();
                        }
                                else if( window.ActiveXObject )
                        {   // Internet Explorer   
                            httpRequestM = new ActiveXObject( "Microsoft.XMLHTTP" );
                        }
                                else
                        {   // XMLHttpRequest non supporté par le navigateur   
                            return "Votre navigateur ne supporte pas les objets XMLHTTPRequest...";
                        }   
   
                                httpRequestM.open( METHOD , FILE , true );
                                httpRequestM.onreadystatechange = function()
                                {   
                                        if( httpRequestM.readyState == 4 )
                                        {
                                                ObjectDiv( div , httpRequestM.responseText );
                                        }
                                }
                
                        if( METHOD  == 'POST' )   
                        {
                                httpRequestM.setRequestHeader( "Content-type" , "application/x-www-form-urlencoded" );
                        }

                 httpRequestM.send( DATA );   
        }

        function ViewContent( div , href , method , data )
        {
                var wait = "<div align='center'>" +
                           "<b><font style='color:red;'>Chargement en cours.....</font></b><br><br>" +
                           "<img src='./loading.gif' border='0' alt='Chargement en cours....'>" +
                           "</div>";

                ObjectDiv( div , wait );
                Goto( href , method , data , div );
                return false;
        }

        
//-->

 Conclusion

Dorénavent vous aurait juste a inclure ce fichier Javascript dans vos pages,
Et vous pourais utilisé la technologie Ajax,
Vous pourez l'activer a partir d'un simple lien, ou d'une image ( onclick )...
Vous pouvez géré vos requete quelles soient Post ou Get


   [  Voici un exemple pour GET ( si vous ne souhaiter pas mettre de variable )  ] :

         <div id="laDiv">Initial CONTENT</div>
         <a href="javascript:ViewContent( 'laDiv' , 'votre_page.html' , 'GET' , null );"></a>

            REQUETE EFFECTUER VERS : votre_page.html


   [  Voici un exemple pour GET ( si vous souhaiter mettre des variables )  ] :

         <div id="laDiv">Initial CONTENT</div>
         <a href="javascript:ViewContent( 'laDiv' , 'votre_page.html' , 'GET' , 'variable1=content1&variable2=content2&' );"></a>

            REQUETE EFFECTUER VERS : votre_page.html?variable1=content1&variable2=conte nt2&


   [  Voici un exemple pour POST                                            ] :

         <div id="laDiv">Initial CONTENT</div>
         <a href="javascript:ViewContent( 'laDiv' , 'votre_page.php' , 'POST' , 'variable1=content1&variable2=content2&' );"></a>

            REQUETE EFFECTUER VERS : votre_page.php
            Avec les variables suivantes : $_POST[ 'variable1' ] = 'content1'; $_POST[ 'variable2' ] = 'content2';



 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture PRECHARGEMENT D'IMAGE(S), AVEC BARRE DE PROGRESSION ( DIFFÉR...
UNE FONCTION QUI DORT ======> SLEEP( SECONDE );
UNE FONCTION POUR LA GESTION DU CLAVIER ET UNE AUTRE POUR L'...
Source avec une capture BAR DE STATUS POUR LE CHARGEMENT DES IMAGES AVEC POURCENTAGE...
LISTER LES PLUG-INS INSTALLÉ DU BROWSER (IE SEULEMENT)

 Sources de la même categorie

Source avec Zip EMULATION DE $_GET() DU PHP par jchan
Source avec Zip ACCESSIBARRE - AMÉLIORER LE CONFORT DES PERSONNES NON-VOYANT... par Pfuch
Source avec Zip CLASS BARRE DE DÉFILEMENT (SCROLLBAR) JAVASCRIPT par TheWeasel47
Source avec une capture TAILLEFONTE par tiger222
Source avec Zip Source avec une capture MOTEUR DE RECHERCHE SANS PHP par jdmcreator

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture MOTEUR DE RECHERCHE SANS PHP par jdmcreator
Source avec Zip Source avec une capture CLASSE AJAX : PROTOTYPE ROCKS ! par ralecul
Source avec Zip [GAG] GESTION AJAX GÉNÉRALISÉE par bultez
AJAX EN MOINS DE 50 LIGNES par Kimjoa
Source avec Zip Source avec une capture CLASSE AJAX par casper

Commentaires et avis

Commentaire de wizard512 le 27/08/2006 12:41:32

En espérent avoir pu aider certains programmeurs, et bon prog a tous    ;)

Commentaire de kankrelune le 27/08/2006 14:26:48

Salut....

Il serait bien de rajouter un escape() sur les données à envoyer... et sinon tu ne gère pas les erreurs lors de la réponse du serveur... .. .

Sinon le code est ""simpliste"" mais pour des requetes basiques c'est amplement suffisant... .. .

@ tchaOo°

Commentaire de wizard512 le 27/08/2006 14:31:22

Oui, je crois que je devrais optimisé, ce code pour les retours d'erreur éventuel,
et effectivement rajouter comme tu l'as indiquer un escape()

Si vous avez d'autre remarques, de ce type pour optimisé le code
n'ésitez pas a m'en faire pars

^^

Commentaire de webdeb le 27/08/2006 21:57:00

Un excellent tuto avec une belle fonction qui fait pareil que la tienne :

http://www.openweb.eu.org/articles/objet_xmlhttprequest/

++

Commentaire de Arto_8000 le 28/08/2006 00:05:04

J'avais fait quelque chose de semblable, mais la seul chose c'est que les paramètres envoyés à la fonction était un objet form et la fonction à appeler quand il a recu la réponse ...

Source :
http://www.pastebin.us/3738

Commentaire de wizard512 le 28/08/2006 09:57:17

Effectivement,
La fonction sendData, ainsi que la fonction de ARTO_8000 ont globalement le même principe,
Que ma source mais je compte l'optimisé,
En fonction des statues renvoyer par le navigateur,
D’ajouter un escape, et essayer de rajouter d'autre fonctions,
Qui permettrais de rendre plus modulable la fonction.

      ^^

             ~~ DotWizard512 ~~

Commentaire de wizard512 le 28/08/2006 10:02:22

"et essayer de rajouter d'autre fonctions," => "et essayer de rajouter d'autre paramètres,"

      ^^'

Dls

Commentaire de apxa le 28/08/2006 20:21:09

Iop all
Je travail sur XMLHTTPRequest c'est génial comme fonctionnalité mais le problème se pose pour les upload de fichier.
Si vous avez des tips je suis preneur.

Have Fun ;)

Commentaire de kankrelune le 28/08/2006 21:20:28

Aucun... c'est une des limitation d'Ajax... javascript n'ayant pas accès au fichiers de l'internaute... seule solution uploader dans une iframe invisible et se servir d'ajax pour afficher l'état d'avancement... .. .

@ tchaOo°

Commentaire de wizard512 le 29/08/2006 10:03:38

J'ai trouver de multiple lien parlant du transfers de fichier via ajax,
voici quelques liens :

http://sean.treadway.info/demo/upload/
http://forum.alsacreations.com/topic-24-11823-1-AJAx-peut-il-tout-faire-.html
http://www.tynril.info/index.php/2006/02/03/8-php-et-transfert-de-fichiers


         ^^

Commentaire de niamor36 le 30/10/2006 17:39:45

Simple et efficace. Parfait pour moi qui bidouille depuis peu avec Ajax...

Commentaire de lespleiades le 04/03/2007 20:55:39

[noob]
salut! bon je comprend rien, j essaye d'envoyer une variable de <form> vers une page de recuperation, mais ca marche pas :/
j ai pourtant bien fait comme dit (ma variable est 'poster')
dans le formulaire: <a href="javascript:ViewContent( 'main' , 'verif.php' , 'POST' , 'poster=content1&' );"></a>
dans la recuperation: <div id='main'>$_POST[ 'poster' ] = 'content1';</div>

mais ca marche pas il doit y avoir un truc qui m'echappe, mais je ne comprend pas.
J ai essayé pas mal de bidouillages, au mieu dans ma table il ecrit 'content1' au pire rien du tout,
alors si quelqu'un pouvais me donner un bout d'exemple simple et detaillé cela m'aiderais grandement, car j ai fit des recherche sur google, mais alors la je vol a 3000 metres :/
[/noob]

Commentaire de JLN le 30/04/2007 11:25:44

Enfin de l'ajax qui lave plus blanc que blanc... C'est nouveau ca vient de sortir... Bon assez siter coluche et parlons du code. Très bien ce code pour des novices (dont je fais partie) en ajax et en javascript tout court c'est une manière simple à mettre en oeuvre et à utiliser sans modération tellement ca peut rendre service. Surtout que là il n'y a pas des tonnes de javascript dans lequel on n'utilise que 10%, juste ce dont on a besoin 90 fois sur 100. Donc je met 10 car c'est sympa de penser à ceux qui n'y connaisent rien (ou presque) en ajax.

Bonne prog à tous...
@+ JLN

Commentaire de jessie le 04/01/2008 18:31:09 10/10

Super merci

Commentaire de lhymn le 11/12/2008 18:43:15 10/10

trop fort cela fait une journée que je me casse la tête avec ajax est effectivement ce scripte répond a 90 % des besoin merci encore

Commentaire de gigamaster le 27/01/2009 13:33:13 10/10

un 10 pour l'approche minimaliste qui rend la vie plus simple ^^

Commentaire de walex76 le 27/01/2009 20:02:17

Slt !
ya ty possibilité d'envoyer des vars d'un formulaire via cette methode 'function ViewContent()' ?
si oui quel est t'elle ?

comme pour ce code :
http://www.javascriptfr.com/codes/AJAX-SEUL-APPEL-FONCTIONS-FAIRE-LIENS-SOUMETTRE-FORMULAIRES_41331.aspx

mais en trouvant le problème de compatibilité sous FF !

Commentaire de sasou83 le 03/12/2009 12:04:36

bonjour;
j'ai un problème urgent
je besoin d'un code qui me permet d'envoyer un fichier xml a un serveur et reçut un fichier pdf(j'ai un programe qui convertire le fichier xml au pdf et le met dans un fichier indiquer)avec le protcole http

merci d'avance

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

problem ds ma fonction ajax [ par kate1910 ] bonjour tout le monde svp est ce que quelqu'un peut me dire c'est quoi le probleme dans ma fonction ajax,normalement cette derniére va permettre a de Connaitre la fin d'une fonction [ par Angelblade ] Bonjour à tous, je vais essayer de vous expliquer mon souci ^^'.Je veux pouvoir répéter une portion de code tous les X ms et une fois que le code a ét Zend Jquery Ajax | probleme d'affichege d'element sous IE [ par matdev62 ] Bonjour, j'ai developpé une application Zend sous wamp. Pour différents formulaires, j'utilise JQuery pour executer des requetes ajax afin d'affiche Ajax.Request et MSIE [ par rivarol89 ] Salut j'ai un probleme qui commence vraiment à m'ennuyer, voici un bout de code tout con :-----------JS-----------------------------function testReque AJAX ? Editeur [ par tuneserapasmonnom ] Bonjour,Je ne m'y connais que très peu en javascript / ajax mais j'ai besoin d'appeler une fonction php quand je modifie un textarea. J'explique : Je FireFox 3 + Ajax = bug ? [ par rhan_659 ] Bonjour à tous Je suis face à un bug désopilant, un code en ajax qui fonctionne sous FF2 mais pas sous FF3 voila le code que j'utilise requete = Stopper une fonction depuis une autre [ par bizibiz17 ] Bonjour,J'aimerais pouvoir stopper l'exécution d'une fonction depuis une autre. Je m'explique avec cet exemple :function fct1(){   //instructions}func Rechargement AJAX javascript non réactualisé [ par Steph115 ] Bonjour,J'ai un petit souci depuis pas mal de temps mais qui en ce moment devient problématique.J'ai sur une page une partie en AJAX qui réactualise u jQuery : Problème de double requete ajax [ par neoseals ] Bonjour à tous,Voilà je suis sur ce probleme depuis hier après-midi mais impossible de comprendre pourquoi ça ne marche pas ! Contexte: Utilisation XML dans AJAX [ par Samyghan ] Bonjour , alors voilà, j'ai un problème lors du traitement d'un retour d'une requête (en XML) généré par Prototype.J'ai deux pages : ajax.html (qui ut


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,749 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales