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>