Page 1 sur 1

Ajax : Problème serieux d'affichage !

Posté : 13 nov. 2006, 12:58
par Invité
Bonjour à tous !

Pouvez vous m'aider ?

Voila un script qui marche bien sur mon poste (via l'appel "javascript:show('php');") mais sur mon hebergement, seul le text "Chargement en cours..." est affiché pourquoi ?

Code : Tout sélectionner

function show(page) { var jx = null; if(window.XMLHttpRequest) // Firefox jx = new XMLHttpRequest(); else if(window.ActiveXObject) // Internet Explorer jx = new ActiveXObject("Microsoft.XMLHTTP"); else { // XMLHttpRequest non supporté par le navigateur try { jx = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { jx = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e1) { jx = null; } } } //on définit l'appel de la fonction au retour serveur jx.onreadystatechange = function() { showresult(jx,page); }; document.getElementById("result").innerHTML="Chargement en cours..."; //on appelle le fichier reponse.txt jx.open("POST", "google.php?"+page, true); jx.send(null); } function showresult(jx,page) { if(jx.readyState==4){ var roop=jx.responseText; var items=roop.split(/dEhEw3erçE3/gi); document.getElementById("head").innerHTML=items[0]; document.getElementById("result").innerHTML=items[1]; }

Posté : 13 nov. 2006, 13:17
par Cyrano
Si jamais ce code est complet, alors ta seconde fonction n'est pas fermée. Avec une indentation correcte du code, tu le verrais immédiatement :
function showresult(jx,page)
{
    if(jx.readyState==4)
    {
        var roop=jx.responseText;
        var items=roop.split(/dEhEw3erçE3/gi);
        document.getElementById("head").innerHTML=items[0];
        document.getElementById("result").innerHTML=items[1];
    }
} // <=== Accolade manquante

Posté : 13 nov. 2006, 17:38
par Invité
Merci Cyrano, en effet c'etait ça le problème...

Mais une fois regler, je viens de constater que ce script est rapide en local... mais en ligne, c'est le contraire...que puis je faire pour augmenter ça rapidité ?

Posté : 13 nov. 2006, 17:41
par Cyrano
Le problème de la rapidité ne vient pas du JavaScript mais des délais pour l'échange réseau : à l'aller, ça va certainement très vite, mais coté serveur, il y a peut-être lieu de voir si des optimisations sont possibles pour réduire le temps de traitement et d'envoi des données vers le navigateur.