我有一個jquery,當點擊一個複選框時會被調用。 jquery執行,但PHP文件沒有被調用(至少我不認爲它被稱爲)。
我不能在PHP函數中放入「echo」語句,因爲PHP沒有返回任何東西(它只是在被jquery調用時更新表)+我不知道它會在哪裏回顯!
- 有人能告訴我爲什麼PHP函數沒有被調用嗎?
- 如何通過jquery「調試」以這種方式調用的PHP函數,假設我不能只回顯變量?
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(我使用的是笨框架):
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工程中。但只是調用控制器而不是函數。
安裝Firebug的,看看究竟發生了 – zerkms 2011-05-20 00:54:16
媽jQuery的,它永遠不會調用了...:P – alex 2011-05-20 00:58:59
包裝您的點擊功能在文檔準備呼叫,否則它會永遠不會被附加...這是'$(function(){...你的javascript在這裏...});' – Jason 2011-05-20 01:01:56