2012-06-21 16 views
2

我在JavaScript中有兩個數組: var xcoord = [];var ycoord = []; 一些處理之後,每個陣列包含15個數值。我想將這些數據發送到Drupal中的菜單回調。如何傳遞數組Drupal的菜單回調

我的AJAX代碼:

$.post('http://mysite.com/?q=menu_example/my_page', 
    {'ycoord[]': ycoord, 'xcoord[]': xcoord } 
); 

Drupal的PHP:

$items['menu_example/my_page/%/%'] = array(
    'title' => 'My Page', 
    'description' => 'i hope this works', 
    'page callback' => '_graphael', 
    'page arguments' => array(2, 3), // fill this, 
    'access callback' => true, 
    'type' => MENU_CALLBACK, 
); 

在我的控制檯,我看到了xcoordycoord值被正確傳輸,但回調不太加工。我的問題:如何將數組傳遞給菜單回調?我是否仍然在$items密鑰中使用%佔位符?

回答

3

您傳遞給$.post()的第二個參數未附加到您作爲第一個參數傳遞的URL;它是在$_POST傳遞給PHP的數據。

菜單回調的正確定義應該是以下一個。

$items['menu_example/my_page'] = array(
    'title' => 'My Page', 
    'description' => 'I hope this works', 
    'page callback' => '_graphael', 
    'access callback' => TRUE, 
    'type' => MENU_CALLBACK, 
); 

你的頁面回調應該找到從jQuery傳入的數據$_POST

+0

非常感謝! – Don