Resultat d'une requette jax dans une variable

Résolu
zemele Messages postés 119 Date d'inscription vendredi 29 juillet 2005 Statut Membre Dernière intervention 26 novembre 2009 - 19 mars 2008 à 12:24
zemele Messages postés 119 Date d'inscription vendredi 29 juillet 2005 Statut Membre Dernière intervention 26 novembre 2009 - 19 mars 2008 à 13:27
Bonjour,

C'est nul mais je voudrai simplement affecter le résultat de ma requette ajax (avec prototype) à ma variable contenu.

Voici mon code.

    this.contenu = 'essaie';

    this.insertContenu = function(requete) {

    return requete.responseText;

    };

    var url = 'modules/wysiwyg/recupContenu.php';

    var parametres = 'idSite='+idSite+'&nomPage='+nomPage+'&nomContenu='+nomContenu+'&typeSite='+typeSite;

           

    var myAjax = new Ajax.Request(

          url,

          {

              method: 'post',

                parameters: parametres,

                onComplete: this.contenu = this.insertContenu

          }

       );

Et ce code là me renvoie toujours la fonction de façon textuel. Quelqu'un à une idée svp ?

9 réponses

Zobibol Messages postés 469 Date d'inscription mercredi 9 janvier 2002 Statut Membre Dernière intervention 20 février 2017 6
19 mars 2008 à 13:20
Je reviens à la charge ;o)
En fait ton fichier php fait un return ?
voilà ce que j'ai obtenu :
fihcier html
<html>
    <head>
        <script language="javaScript" src="./prototype.js" ></script>
        <title>
        </title>
           
            <script>
                var contenu ="essais";
               
                function init(){
                var parametres ="";
                var myAjax = new Ajax.Request(

          "test.php",

          {

              method: 'post',

                parameters: parametres,

                onComplete: function(transport) {     
                                    contenu= transport.responseText;
                    window.status = contenu;
               
                   }

          }

       );
       }
            </script>
    </head>
   
           
   
</html>
fichier php

<?php
    echo "toto";
?>

et miracle toto est la ;o)

[o-_-o]
3
Zobibol Messages postés 469 Date d'inscription mercredi 9 janvier 2002 Statut Membre Dernière intervention 20 février 2017 6
19 mars 2008 à 12:33
Salut, c'est très Ajax les questions aujourd'hui ;o)
essais donc :
    onComplete:
function(transport) {        
        
this.contenu =
transport
    
   }
par contre, il risque d'y avoir un souci (suivant si this.contenu est définie dans une classe ou pas)
[o-_-o]
0
Zobibol Messages postés 469 Date d'inscription mercredi 9 janvier 2002 Statut Membre Dernière intervention 20 février 2017 6
19 mars 2008 à 12:33
Salut, c'est très Ajax les questions aujourd'hui ;o)
essais donc :
    onComplete:
function(transport) {        
        
this.contenu =
transport
    
   }
par contre, il risque d'y avoir un souci (suivant si this.contenu est définie dans une classe ou pas)
[o-_-o]
0
zemele Messages postés 119 Date d'inscription vendredi 29 juillet 2005 Statut Membre Dernière intervention 26 novembre 2009
19 mars 2008 à 12:44
rien à faire... Il garde toujours la même valeur 'essaie'. Suis perdu là...

Voici le nouveau code modifé sous tes conseils :

function Wysiwyg(objectId,idSite, nomPage, nomContenu, theme,typeSite) {

    

    var id = nomPage+nomContenu;

    this.contenu = 'essaie';

            //Recuperation et assignation du contenu à la iframe

            var url = 'modules/wysiwyg/recupContenu.php';

            var parametres = 'idSite='+idSite+'&nomPage='+nomPage+'&nomContenu='+nomContenu+'&typeSite='+typeSite;

            

            var myAjax = new Ajax.Request(

          url,

          {

              method: 'post',

                parameters: parametres,

                onComplete: function(transport) {      

                this.contenu = transport.responseText  

                   }

          }

       );

Une autre idée ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Zobibol Messages postés 469 Date d'inscription mercredi 9 janvier 2002 Statut Membre Dernière intervention 20 février 2017 6
19 mars 2008 à 12:48
en fait, je crois que transport contient ta valeur de retour d'ou :
    this.contenu = transport
Mais je ne pense pas que ça va corriger quoi que ce soit !
fait un test avec une variable "globale":
var contenu = "essais"
       var myAjax = new Ajax.Request(

          url,

          {

              method: 'post',

                parameters: parametres,

                onComplete: function(transport) {      

                 contenu = transport;

                   }

          }

       );

[o-_-o]
0
zemele Messages postés 119 Date d'inscription vendredi 29 juillet 2005 Statut Membre Dernière intervention 26 novembre 2009
19 mars 2008 à 12:52
Non toujours pas, et puis que l'affectation soit correct ou non ça changerai au moin le contenu de ma variable (la rendre null par exemple), là il ne prend pas en compte du tout le fait qu'on tente de lui réafeccter quelque chose....
0
Zobibol Messages postés 469 Date d'inscription mercredi 9 janvier 2002 Statut Membre Dernière intervention 20 février 2017 6
19 mars 2008 à 13:03
je crois qu'en fait je me suis trompé ;o(
c'est pas onComplete mais probablement
    onSuccess: function (hxr){ contenu = hxr.reponseText;}
Le truc c'est que je peux pas tester ton exemple....

[o-_-o]
0
zemele Messages postés 119 Date d'inscription vendredi 29 juillet 2005 Statut Membre Dernière intervention 26 novembre 2009
19 mars 2008 à 13:06
Non toujours pas de changement...
0
zemele Messages postés 119 Date d'inscription vendredi 29 juillet 2005 Statut Membre Dernière intervention 26 novembre 2009
19 mars 2008 à 13:27
A yé !!! Merci ;)
0
Rejoignez-nous