我有一个jquery,当点击一个复选框时会被调用。 jquery执行,但PHP文件没有被调用(至少我不认为它被调用)。
我不能在PHP函数中放置“echo”语句,因为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);
}
编辑:使用$ .post中的完整URL(http://.../upic/update_notify)。但是只调用控制器和函数不会。
答案 0 :(得分:0)
我发现在使用CodeIgniter进行调试时使用log_message很有用,请看一下:http://codeigniter.com/user_guide/general/errors.html
除此之外,为什么你认为这个行动没有被召唤?
答案 1 :(得分:0)
您最好使用:
$.post('<?=site_url('controller/function');?>',{data here})