Undefined avec la fonction XmlHttpRequest

Bonjour,

Je souhaite utiliser la fonction XmlHttpRequest mais quand je fais return (xhr.responseText); , il me marque toujours undefined alors que si je met alert(xhr.responseText); ca fonctionne.

De quoi ca pourrai provenir ?

function test()
	{
	
	getXhr();
			
	xhr.open("GET",'mon url',true);
	xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	xhr.send(null);
	 
	xhr.onreadystatechange = function()
		{
		if(xhr.readyState == 4 && xhr.status == 200)
			{
			// Nous recuperons ce coup ci le retour dans une variable
			return (xhr.responseText);
			}
		}
	}


merci d'avance

Yohan
Configuration: Windows Vista
Internet Explorer 7.0

10 réponses

  • Votes
  • Date
  • Date décroissante
  1. j'apporte une correction,

    c'est pas avec un alert que ca fonctionne mais avec un document.write

    Merci d'avance

    Yohan
    1. Salut^^

      on ne renvoi pas souvent une valeur d'un formulaire ajax avec return^^ c'est pour ça qu'il y a un soucis. (ça devrait fonctionner avec un alert quand même^^).

      document.getElementById['cadreQuelconque'].innerHTML=xhr.responseText;

      Là, non seulement tu récupère ta valeur, mais en plus tu lui dis où tu veux l'afficher^^ en l'occurence, dans le div (imaginons hein^^) cadreQuelconque ^^

      Tu ne fais pas de test navigateur?
      1. Bonsoir,

        Merci pour vos réponses,

        en faite si je fais un return c'est que derrière j'ai une boucle for sur un array et que selon le résultat je sélectionne dans une table SQL le type de formulaire que je souhaite et ce par le biai du xmlhttprequest, c'est pourquoi j'aurais besoin d'utiliser le return.

        Edit : Si si ca fonctionne avec le alert autant pour moi !

        Merci d'avance

        Yohan
        1. Ba non je ne peux avoir le resultat du responseText dans un return, il me marque undefined
          1. ta fonction intervient où dans ton script? dans quel genre de bout de code?
            1. dans le body et un script lancé avec la fonction window.onload
              1. tu pourrais nous mettre l'extrait?

                pour le moment je pense à deux choses:
                soit une erreur conceptuelle
                soit une erreur d'inadaptation du code^^

                mais faudrait voir tout ça pour confirmer^^
                1. Je n'ai pas trouver de fonction avec un return après un xmlhttp.responseText.

                  Pour moi ca ne doit pas etre possible car le script s'exécute, il exécute le xmlhttp.send et après c'est si le xmlhttp.readyState == 4 alors il renvoie le responseText.

                  Je peux pas vous redonner le code car je l'ai completement modifier pour essayer autre chose.

                  Yohan