У меня есть jquery, который вызывается при нажатии флажка. Jquery выполняется, однако файл PHP не вызывается (по крайней мере, я не думаю, что он вызывается).
Я не могу поместить операторы "echo" в функцию PHP, поскольку из PHP ничего не возвращается (он просто обновляет таблицу при вызове jquery) + Я не знаю, где это тоже будет выводиться!
- Может кто-нибудь сказать мне, почему функция PHP не вызывается?
- Как мне "отладить" функцию PHP, вызываемую таким образом через jquery, предполагая, что я не могу просто выводить переменные?
JQuery:
$('#notify_checkbox').click(function(){
if($('#notify_checkbox').is(':checked'))
{
$.post("/upic/update_notify", { checked: "y", email: "<?php echo $this->session->userdata('email');?>" });
$( "#notifyresult" ).html( "<p>Awesome, we'll send you an email!</p>" );
}
else
{
$.post("/upic/update_notify", { checked: "n", email: "<?php echo $this->session->userdata('email');?>" });
$( "#notifyresult" ).html( "<p>Okay, we won't email you.</p>" );
}
});
И PHP (я использую платформу CodeIgniter):
function update_notify()
{
// Passed through AJAX
$notify = $_POST['checked'];
$email = $_POST['email'];
$this->load->model('musers');
$query = $this->musers->update_user_notify($email, $notify);
}
РЕДАКТИРОВАТЬ: Использование полного URL (http: //.../upic/update_notify) в $ .post работает. Но вызывать только контроллер, а функция - нет.