J'utilise jQuery pour effectuer une requête AJAX sur une action du contrôleur. Cette demande est activée à partir d'un bouton dans la vue de l'action d'édition dans le même contrôleur.CakePHP: La réponse du contrôleur pour la requête Ajax est erronée
Mon problème: La requête Ajax retourne tout le code de la vue d'édition (avec tous les formulaires et les entrées) au lieu du nombre attendu. Si je mets le même bouton ajax dans la vue de l'action add, ça marche parfaitement (ça renvoie le nombre). Les actions d'édition et d'ajout restent telles que générées par défaut (avec cuisson).
Ceci est la fonction jQuery pour faire la demande ajax
$.ajax({
type: 'POST',
url: 'checkTargets',
data: {target: tgt_array, channel: channel_type},
success:function(data){
$('#num_subscribers > span').html(data);
},
error:function(){
$('#num_subscribers > span').html("The subscribers could not be loaded");
},
timeout: 5000
});
}
Ceci est l'action
function checkTargets() {
if ($this->RequestHandler->isAjax()) {
if(!empty($this->params['form'])) {
$data = $this->params['form'];
if ($data['channel'] === 'SMS') {
$channel = 'sms';
} else {
$channel = 'pin';
}
$targets = $this->processPostTargets($data['target']);
$this->RequestHandler->respondAs('text');
//This echo a NUMBER
echo ClassRegistry::init('Selection')->countSubscribersInTarget($channel, $targets);
Configure:: write('debug', 0);
$this->autoRender = false;
exit();
}
}
}
Pourquoi est-ce qui se passe?
Merci
Hey, qu'est-ce que 'myapp' dans url? –