0
Je suis en train de réaliser les objectifs suivants:Mootools appel méthode de classe onSuccess Ajax
- utilisateur clique sur un élément et la fonction CDéplacez est invoquée (travaux)
- CDéplacez passe un objet JS à la méthode ajax (travaux)
- méthode ajax soumet l'objet à déplacer/contrôleur de test (PHP/CodeIgniter) (travaux)
- contrôleur renvoie des données JSON (travaux)
- onSucces appelle la méthode de déplacement pour faire des choses (pas chance appeler cette méthode)
Alors, comment puis-je appeler la méthode move sur onSuccess? Et y a-t-il une meilleure façon de pousser le moveObj?
var Plane = new Class({
Implements: Options,
options: {
action: null
},
initialize: function(options) {
this.setOptions(options);
$('somelement').addEvent('click', this.cmove.bind(this));
},
cmove: function(event, action) {
moveObj = new Object();
moveObj.x = 123;
this.ajax('cmove', moveObj);
},
move: function(moveObj) {
console.log("Yippe!"); // not getting here :(
},
ajax: function(action, obj) {
resp = $('resp');
var myRequest = new Request.JSON({
url: '<?php echo site_url('move/test'); ?>',
method: 'get',
onRequest: function(){
resp.set('text', 'wait...');
},
onSuccess: function(responseText){
switch(action)
{
case 'cmove':
test3.move(responseText); // not working
this.move(responseText); // not working
parent.move(responseText); // not working
resp.set('text', responseText.x);
break;
},
onFailure: function(){
resp.set('text', 'Sorry, your request failed :(');
}
}).send('coords='+ JSON.encode(obj));
}
});
window.addEvent('domready', function(){
var test3= new Plane({});
});
completly oublié cette. Merci! – Mike