Ajax : Problème serieux d'affichage !

Invité
Invité n'ayant pas de compte PHPfrance

13 nov. 2006, 12:58

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]; }

Mammouth du PHP | 19672 Messages

13 nov. 2006, 13:17

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
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Invité
Invité n'ayant pas de compte PHPfrance

13 nov. 2006, 17:38

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é ?

Mammouth du PHP | 19672 Messages

13 nov. 2006, 17:41

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.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: