2012-07-18 84 views
1

我有一個簡單的問題,我目前正在處理php/ajax請求。動態調用PHP函數。

// ajax_requests.php 

<?php 
if(isset($_POST['ajaxvar'] == 'send')){ 
    // send timestamp 
} 
if(isset($_POST['ajaxvar'] == 'get')){ 
    // return get 
} 
?> 

有沒有更好的方法來應對這些要求?除了這種處理請求的有點臃腫的方式。

+0

哪裏是你的'jQuery'代碼?你有什麼嘗試? – thecodeparadox 2012-07-18 16:05:17

+1

你可以有不同的請求頁面。我傾向於保持我的頁面和Ajax功能達到1:1的比例。 – 2012-07-18 16:05:44

+0

你可能有功能,並使用'call_user_func()' – 2012-07-18 16:06:34

回答

1

如果您在發佈後的值命名功能「ajaxvars」,那麼你可以這樣運行了他們:

if (isset($_POST['ajaxvars'])) $_POST['ajaxvars'](); 

function send(){ 
    // send timestamp 
} 

function get(){ 
    // return get 
} 

所以,如果你有$ _ POST [「ajaxvars」] ==「發送」,該腳本將運行send()函數。獲取相同。

這也是一個好主意,先檢查是否張貼的功能存在,所以:

if (function_exists($_POST['ajaxvars'])) $_POST['ajaxvars']();