Използвам jQuery, за да направя AJAX заявка към някакво действие на контролера. Тази заявка се активира от бутон в изгледа на действието за редактиране в същия контролер.
Моят проблем: Ajax Request връща целия код на изгледа за редактиране (с всички формуляри и входове) вместо очакваното число. Ако поставя същия бутон ajax в изгледа на действието за добавяне, той работи перфектно (връща номера).
Действията за редактиране и добавяне остават както са генерирани по подразбиране (с печене).
Това е функцията jQuery за създаване на 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
});
}
Това е действието
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();
}
}
}
Защо се случва това?
Благодаря