[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:
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> |