cs_ov3rdoze
Messages postés414Date d'inscriptionlundi 19 juillet 2004StatutMembreDernière intervention23 septembre 2014
-
4 déc. 2007 à 15:12
cs_ov3rdoze
Messages postés414Date d'inscriptionlundi 19 juillet 2004StatutMembreDernière intervention23 septembre 2014
-
6 déc. 2007 à 14:31
Bonjour à tous.
Je travaille actuellement sur un site dans lequel j'utilise XmlHttpRequest. Je viens de mettre celui-ci en ligne, et je m'aperçoit que ma galerie photo ne fonctionne que sous IE et Safari. Avec Opera ou FF, il ne se passe rien. Cependant, il n'y a aucune erreur dans la console de FF.
Voici mon code :
<script language="javascript" type="text/javascript">
var vitesse = 3000;
var timer = false;
affImage('', 0, 'Vignettes', 'envoivign');
function acc() { if (vitesse > 1000) vitesse -= 1000; }
function ral() { if (vitesse < 10000) vitesse += 1000; }
function affImage(racine, img, cible, page) {
var xhr;
if (window.XMLHttpRequest) xhr = new XMLHttpRequest ();
else if (window.ActiveXObject) xhr = new ActiveXObject ('Microsoft.XMLHTTP');
else {
alert ("Votre navigateur ne gère pas l'objet XMLHttpRequest.\nVous allez être redirigé(e) vers le portfolio adapté.");
document.location.replace("index.php?page=portfolio2");
}
var page = 'pages/' + page + '.php';
xhr.open ('POST', page, true);
xhr.setRequestHeader ('Content-Type','application/x-www-form-urlencoded');
xhr.setRequestHeader ('Content-Type','charset=iso-8859-1');
//xhr.overrideMimeType('text/html; charset=ISO-8859-1');
xhr.onreadystatechange = function() {
if (xhr.readyState == 4)
if (document.getElementById){
document.getElementById (cible).innerHTML = xhr.responseText;
}
}
xhr.send("&racine="+racine+"&img="+img);
}
1er problème :
Lorsque l'on change la valeur du Select, la fonction affImage doit normalement récupérer une liste de photos qui dépend de la valeur.
Ca fonctionne au chargement de la page avec la valeur par défaut, mais pas ensuite lorsqu'on change la selection.
2ième problème :
Lorsqu'on lance le diaporama, les images devraient défiler mais au lieu de ça, ça reste bloqué sur la première.
Je pense donc que le problème viens de la fonction affImage qui est appelée dans les 2 cas, mais je ne vois pas d'où cela peut venir. Surtout que cela fonctionne avec certains navigateurs.
Arto_8000
Messages postés1044Date d'inscriptionlundi 7 mars 2005StatutMembreDernière intervention13 juillet 20107 6 déc. 2007 à 01:59
Tu as un problème dans ton script, les requêtes s'effectuent bien, mais retourne toujours le même résultat. C'est probablement un problème de cache. Rajoute ceci au début de ton script PHP et ça devrait règler le problème :
En passant si tu veux débogger avec Firefox je te suggère d'utiliser Firebug, ça aide beaucoup surtout pour les requêtes AJAX. J'ai écrit un tutorial sur comment l'utiliser, consulte le au besoin.
cs_ov3rdoze
Messages postés414Date d'inscriptionlundi 19 juillet 2004StatutMembreDernière intervention23 septembre 2014 6 déc. 2007 à 14:17
Merci pour Firebug, c'est clair que c'est pas mal!!
Après pas mal de recherches, je me suis rendu compte que les valeurs envoyées à la page n'arrivent pas. Je pense donc que le problème vient de :
xhr.send("&racine="+racine+"&img="+img);
mais je comprend pas pourquoi.
racine et img sont des pramètres de la fonction, je les ai mis dans un alert et c'est bien les valeurs attendues. Par contre la page à laquelle j'envoie la requête me dit "undefined variable" pour ces 2 variables. Elle ne les reçoit pas pour une raison qui m'echappe...