Вопрос

У меня возникла проблема с ajax-запросом в joomla с использованием 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();

Моя проблема заключается в том, есть ли способ установить onComplete событие ajax-запроса.я установил это, как показано ниже в приведенном выше коде, но ничего не произошло.

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

Не могли бы вы, пожалуйста, предоставить полный код того, как использовать ajax с помощью mootools 1.1??

Заранее благодарю

Это было полезно?

Решение

просто добавьте onComplete к объекту params, нет необходимости добавлять событие отдельно. также вы можете использовать this.response.text. все это может выглядеть немного более компактно - зависит от ваших предпочтений. если вы не планируете повторно использовать объект, просто вызовите его напрямую и не назначайте его переменной:

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

если вы что-то делаете с текстом ответа, вы можете удалить обновление: бит. если вам нужно оценить ответ (как javascript), используйте evalResponse: true вместо eval (this.response.text) ;. также удобно - evalScripts: true | false, если вы хотите что-то сделать со стороны сервера вместе с ответом.

Другие советы

Это должно работать:

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

может быть:

var a = new Ajax( url, {
        method: 'post',
        data: { parfoto: foto },
        onComplete: function( response ){
           ..........
        }
}).request();
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top