Rebonjour toujours à propos d'ajax. J'ai un big soucis donc je vous explique pour éventuellement avoir les conseils d'un génie d'AJAX.
J'utilise ajax pour obtenir une execution fluide, la tache s'effectuait auparavant avec 4 pages. La tache consiste à donner un avis sur un produit en cliquant sur un lien se situant juste en dessous.
Le prob ce situe après une première execution, et sous IE. Afin la fin de mon execution en Ajax, je termine en affichant uniquement une message comme quoi l'execution s'est bien passée. Ensuite on peut consulder des autres pages (page contenant des produits), et si on y retourne sur le lien pour redérouler l'exec AJAX:
- Sous firefox pas de soucis l'exec se déroule correctement
- par contre sous IE, l'exec ne se produit pas car il y a une erreur au niveau de la ligne content.innerHTML, IE n'arrive plus à executer cette ligne.
Je voudrais savoir comment résoudre ce problème, et par la même occassion comprendre pourquoi cela se produit. Voici le code de ma fonction AJAX et la ligne qui pose problème est signalée en gras.
Merci pour votre aide
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 /** * Permet d'envoyer des données en GET ou POST en utilisant les XmlHttpRequest */ function sendData(data, page, method) { if(document.all) { //Internet Explorer var XhrObj = new ActiveXObject("Microsoft.XMLHTTP") ; }//fin if else { //Mozilla var XhrObj = new XMLHttpRequest(); }//fin else //définition de l'endroit d'affichage: var content = document.getElementById("zone_avis"); //si on envoie par la méthode GET: if(method == "GET") { if(data == 'null') { //Ouverture du fichier sélectionné: XhrObj.open("GET", page, true); }//fin if else { //Ouverture du fichier en methode GET XhrObj.open("GET", page+"?"+data, true); }//fin else }//fin if else if(method == "POST") { //Ouverture du fichier en methode POST XhrObj.open("POST", page); }//fin elseif //Ok pour la page cible XhrObj.onreadystatechange = function() { if (XhrObj.readyState == 4 && XhrObj.status == 200) content.innerHTML = XhrObj.responseText ; } if(method == "GET") { XhrObj.send(null); }//fin if else if(method == "POST") { XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); XhrObj.send(data); }//fin elseif }//fin fonction SendData </script>
Partager