Question

Je rencontre un problème de requête ajax dans joomla à l'aide de mootools.

 var url = '<?php echo JURI::base();?>index.php?option=com_test&task=getselectmode&selectedid='+$('parent_question').value;

   var params ={method: 'post',update:'test'};
  var myAjax = new Ajax(url, params);
 myAjax.request();

Mon problème est que, est-il possible de définir l'événement onComplete de la demande ajax. Je l'ai mis comme ci-dessous sur le code ci-dessus, mais rien ne se passe.

onComplete: function(response) { alert('Response: ' + response); }

Pouvez-vous s'il vous plaît fournir le code complet sur la façon d'utiliser ajax en utilisant mootools 1.1 ??

Merci d'avance

Était-ce utile?

La solution

ajoutez simplement onComplete à l'objet params, inutile d'ajouter l'événement immédiatement. aussi, vous pouvez utiliser this.response.text. tout peut paraître un peu plus compact - cela dépend de vos préférences. si vous ne prévoyez pas de réutiliser l'objet, appelez-le directement et ne l'assignez pas non plus à une variable:

new Ajax(url, {
    method: "get",
    update: $("someelement"),
    onComplete: function() {
       alert(this.response.text);
    }
}).request();

si vous faites quelque chose avec le texte de la réponse, vous pouvez supprimer la mise à jour: bit. si vous devez évaluer la réponse (en javascript), utilisez evalResponse: true au lieu de eval (this.response.text) ;. aussi pratique - evalScripts: true | false si vous voulez faire quelque chose côté serveur avec la réponse.

Autres conseils

Cela devrait fonctionner:

var ajaxObj = new Ajax ('index.php?option=com_yourcomponent&view=yourview&format=raw', {
    method: "get"
});

ajaxObj.addEvent('onComplete', function (data) {
    // data is the response text
    // use as desired
});

// this initiates the call
ajaxObj.request();

peut-être:

var a = new Ajax( url, {
        method: 'post',
        data: { parfoto: foto },
        onComplete: function( response ){
           ..........
        }
}).request();
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top