Bonjour à tous,
J'ai fait un site en ajax et avec une base de données 4D.
Je l'ai testé en local, tout marchait bien, tant sur IE que sur FF.
Mais depuis que j'ai mis mon site sur le serveur de la société, celui-ci ne fonctionne plus qu'avec FF.
Ce qui ne fonctionne est simplement l'affichage du contenu lorsque l'on clique sur une rubrique de mon menu.
L'appel du contenu stocké dans 4D se fait à l'aide de la fonction Post4D suivante :
Pour récupérer et afficher le contenu de la rubrique, j'exécute la fonction afficheContenu suivante, avec en paramètre l'id de la rubrique :
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 function GetHTTP() { var req = false; try { req=new XMLHttpRequest(); } catch(e) { try { req=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { req = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) { req = false; } } } return req; } /* Appele une méthode 4D et renvoi la reponse */ function Post4D(method_4D, values) { var req = GetHTTP(); if(req) { req.onreadystatechange=function() { if (req.readyState==4) { if(req.status!=200) { req =false; } } } req.open("POST", '/4daction/'+method_4D+'/'+Math.random() ,false); req.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); req.send(values); } return req; }
C'est le div "Content" qui est mis à jour.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 function afficheContenu(id,niveauId) { var req = Post4D('WEB_Content', 'var1='+id+'&var2='+niveauId); var contenu = document.getElementById('Content'); var resultat = req.responseText; contenu.innerHTML = resultat; }
Sous FF, cela fonctionne correctement, mais sous IE, ça n'affiche rien et le navigateur ne renvoit aucune erreur.
J'ai essayé d'afficher dans un alert la réponse de la requête, mais idem, aucune donnée, tant sur IE que sur FF, alors que pourtant, je récupère bien le contenu de la rubrique sous FF.
J'ai effectué un autre test. A la place d'afficher le contenu de la réponse de la requête, j'ai affiché la chaîne "bonjour", et là, ça fonctionne.
J'avoue que je suis un peu dérouté.
Pouvez-vous m'aider ?
Je vous remercie
Ben
Partager