2009-09-16 4 views
1

У меня возникла проблема с запросом ajax в joomla с помощью mootools.Задайте запрос 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 ??

Заранее спасибо

ответ

2

просто добавить OnComplete к объекту Params, нет необходимости, чтобы добавить событие seaprately. Кроме того, вы можете использовать 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, если вы хотите что-то сделать со стороны сервера вместе с ответом.

0

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

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

может быть:

var a = new Ajax(url, { 
     method: 'post', 
     data: { parfoto: foto }, 
     onComplete: function(response){ 
      .......... 
     } 
}).request(); 
Смежные вопросы