IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

[AJAX] Y a-t-il une obligation a mettre le code AJAX dans le head ?


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de tavarlindar
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 262
    Par défaut [AJAX] Y a-t-il une obligation a mettre le code AJAX dans le head ?
    Bonjour,

    Voilà j'ai fais de nombreux test avec une approche ajax. Jusqu'à présent mon code était situé entre les balises head de mes pages de test. RAS.

    Je viens de faire un test en mettant le code "AJAX" hors des balises head. cela semble aussi bien fonctionner. J'ai mis le code dans une fonction qui n'a pour seul but de faire apparaitre un formulaire. A aucun moment, j'agis sur les balises head. Le code se retrouve donc dans le contenu de ma page.

    Ma question : Est-ce grave ? Y-a-t-il un risque quelconque ?

    Exemple de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
     
    <script language="javascript" type="text/javascript">
      /*-----------------------------MOTEUR AJAX-----------------------------*/
    // JavaScript Document
     function creationXHR() {
       var resultat=null;
       try {//test pour les navigateurs : Mozilla, Opéra, ...
    	    resultat= new XMLHttpRequest();
         } 
         catch (Error) {
         try {//test pour les navigateurs Internet Explorer > 5.0
         resultat= new ActiveXObject("Msxml2.XMLHTTP");
         }
         catch (Error) {
             try {//test pour le navigateur Internet Explorer 5.0
             resultat= new ActiveXObject("Microsoft.XMLHTTP");
             }
             catch (Error) {
                resultat= null;
             }
         }
      }
    return resultat;
    }
      function demandeServeurListeBureaux(){
    // Création d'un objet XHR multi-navigateurs -  variable globale accessible partout dans le code 
    objetXHR1=creationXHR();// voir fonctionsAjax.js
     
    var societe_selectionnee = document.getElementById('societe');
    idsociete = societe_selectionnee.options[societe_selectionnee.selectedIndex].value;
    // Construction de la chaine des paramètres à envoyer au serveur PHP
    var parametres = "IDsociete="+idsociete;
    // Configuration de l'objet XHR
    objetXHR1.open("POST","determinationBureaux.php",true);
    objetXHR1.onreadystatechange = reponseServeurBureaux;//désignation de la fonction de rappel
    objetXHR1.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    objetXHR1.send(parametres);//envoi de la requete
    } 
     
    function reponseServeurBureaux() 
    {
    	if (objetXHR1.readyState == 4) 
    	{//test si le résultat est disponible
    		if (objetXHR1.status == 200) 
    		{
    		//var selectBureau=document.getElementById("bureau");
    		//var bureaux,i,nb,pdt;
    		var reponse, traitement_reponse, coordonnees_fournisseur;
    		//reponse = "I|new Array('toto','56000','paul')|none";
    				//bureaux=objetXHR1.responseText.split('/');
    		reponse=objetXHR1.responseText;
    				//nb=bureaux.length;
    				//selectBureau.length=nb;
    				//for (i=0; i<nb; i++)
    				//{
    					//bureau=bureaux[i].split('*');
    			 		//selectBureau.options[i].value=bureau[0];
    			 		//selectBureau.options[i].text=bureau[1];
     
    				// on recupere la reponse texte brute renvoyée par le serveur
    				traitement_reponse = reponse.split('|');
     
    				var type_provider = traitement_reponse[0]; // type_provider est egal a I ou G
     
    				coordonnees_fournisseur = eval(traitement_reponse[1]); // c'est un array
    				//coordonnees_fournisseur = traitement_reponse[1];
     
    				var id_fournisseur = coordonnees_fournisseur[0]; // id du fournisseur
    				var nom_fournisseur = coordonnees_fournisseur[1]; // nom du fournisseur
    				var adresse1 = coordonnees_fournisseur[2]; // adresse1 du fournisseur
    				var adresse2 = coordonnees_fournisseur[3]; // adresse1 du fournisseur
    				var cp = coordonnees_fournisseur[4]; // adresse1 du fournisseur
     
     
    				//document.getElementById("id_fournisseur").value= id_fournisseur;	
    				//document.getElementById("nom_fournisseur").value= nom_fournisseur;	
    				document.getElementById("f_adresse1").value= adresse1;
     
    				document.getElementById("f_cp").value= cp;
    				}
    				//demandeServeurInfosBureau(selectBureau.options[0].value);
     
    		}
     
    	}
    /*--------------------------FIN DU MOTEUR AJAX--------------------------*/
      </script>

  2. #2
    Membre confirmé Avatar de Capt. Flame
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    222
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2005
    Messages : 222
    Par défaut
    Non, il n'y a aucun risque si ce n'est que la "malpropreté" du code. Pour ma part je préfère avoir mes fonctions javascript dans des fichiers externes .js ...

    Par contre, quand une page est fabriquée dynamiquement, il est souvent utile de placer du code javascript au beau milieu d'une page... Question de créer des instances en fonction des éléments de la page par exemple...

    Mais pas de crainte, ça devrait fonctionner...

  3. #3
    Membre éclairé Avatar de tavarlindar
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 262
    Par défaut
    ok merci.

  4. #4
    Membre confirmé Avatar de Capt. Flame
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    222
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2005
    Messages : 222
    Par défaut
    Si la réponse te satisfait, tu peux cliquer sur

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment mettre du code php dans une condition javascript ?
    Par Alexandrebox dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 05/04/2010, 12h55
  2. Réponses: 1
    Dernier message: 19/02/2009, 11h15
  3. Réponses: 10
    Dernier message: 10/02/2009, 09h25
  4. Mettre du code php dans une variable
    Par JohnBrown011 dans le forum Langage
    Réponses: 2
    Dernier message: 19/05/2008, 13h33
  5. Mettre un code php dans une variable...
    Par kedare dans le forum Langage
    Réponses: 6
    Dernier message: 19/09/2005, 12h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo