CakePHP: Contrôleur de Réponse pour la Requête Ajax est faux
J'utilise jQuery pour faire une requête AJAX pour certains d'action du contrôleur. Cette demande est activée à partir d'un bouton dans la vue de l'action "edit" dans le même contrôleur.
Mon problème:
La Requête Ajax est le retour de tous le code de la vue d'édition (avec toutes les formes et les intrants) au lieu du nombre prévu. Si j'ai mis le même ajax bouton dans la vue de l'ajout d'une action, il fonctionne parfaitement (il retourne le nombre).
La modifier et ajouter des actions reste généré par défaut (à cuire).
C'est la fonction jQuery pour faire la requête 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
});
}
C'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 arrivé?
Grâce
OriginalL'auteur Jose S | 2010-09-02
Vous devez vous connecter pour publier un commentaire.
Juste une suggestion, sans avoir accès à tout, avez-vous essayé?
Aussi je vous suggère de garder les choses simples:
et à partir de là.
Plutôt que de laisser votre question pendaison, je vous suggère d'ajouter votre réponse et en le marquant comme votre choix de réponse (en cliquant sur la coche). Sauve les gens pensent que vous êtes toujours en attente d'une réponse.
Oui, je vais le faire. Je voulais être sûr que le problème a été résolu. Merci encore
OriginalL'auteur going
J'ai corrigé le problème. C'était le param URL dans le .ajax function (une erreur de débutant)
Il doit être un chemin d'accès complet à l'référencé d'action dans le contrôleur.
Cette question m'a aidé à comprendre le problème:
les meilleures pratiques pour utiliser l'url de l'action lors d'un appel ajax dans cakePHP
Fixe Requête Ajax:
merci et excusez mon anglais
OriginalL'auteur Jose S