Domanda

Sto avendo un prob per la richiesta Ajax in Joomla usando 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();

Il mio problema è che esiste un evento onComplete per la richiesta ajax. l'ho impostato come sotto sul codice sopra ma non succede nulla.

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

Potete per favore fornire il codice completo su come usare Ajax usando mootools 1.1 ??

Grazie in anticipo

È stato utile?

Soluzione

basta aggiungere onComplete all'oggetto params, non è necessario aggiungere l'evento seaprately. inoltre, puoi usare this.response.text. può sembrare un po 'più compatto - dipende dalle tue preferenze. se non prevedi di riutilizzare l'oggetto, chiamalo direttamente e non assegnarlo nemmeno a una variabile:

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

se fai qualcosa con il testo della risposta, potresti voler rimuovere l'aggiornamento: bit. se devi valutare la risposta (come javascript), usa evalResponse: true invece di eval (this.response.text) ;. anche utile - evalScripts: true | false se vuoi fare qualcosa dal lato server insieme alla risposta.

Altri suggerimenti

Questo dovrebbe funzionare:

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();

forse:

var a = new Ajax( url, {
        method: 'post',
        data: { parfoto: foto },
        onComplete: function( response ){
           ..........
        }
}).request();
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top