2017-05-07 55 views
0

我試圖從node.js發送一個post請求到Drupal .module文件。我的問題是,模塊文件從不會像Apache那樣在請求完成時作爲php執行,因此我不會從php獲取響應,而是將文本字符串作爲文本字符串(在.module文件中)。將POST請求發送到Drupal模塊文件

我試着讓.module執行的PHP(不知道的安全問題),通過將在.htaccess如下:

AddHandler的應用程序/ X的httpd - PHP .module

(和幾乎每一個我能找到的那個命令的其他組合)

但是沒有運氣。

我知道node.js發送的post請求是完全正常的,因爲它發送到同一服務器上的.php文件時工作。我無法在Drupal模塊中使用它。我希望將它發送到Drupal模塊,因爲我想利用Drupal的API(將對drupal用戶表進行大量修改)。

如何發送一個post請求到一個drupal模塊,以編程的方式,從節點讀取它的響應?我知道如何將它發送到一個簡單的.php文件,但不是一個drupal模塊。

+0

向我們展示你的努力execute.You已經拿到了模塊在一個完全工作的Drupal站點的代碼,不是嗎?什麼版本的drupal? – 2pha

+0

Drupal v.7。我試圖執行的代碼只是簡單地返回post請求:echo json_encode($ _ POST); –

+0

這是令人困惑的。你在哪裏發送你的發佈請求?你需要你的模塊來設置一個路徑(hook_menu),然後執行你的函數並返回你的響應。在問題 – 2pha

回答

1

您在模塊文件中創建一個menu

function mymodule_menu() { 
    $items['post-link'] = array(
    'page callback' => 'mymodule_abc_view', 
    ); 
    return $items; 
} 

然後通過Node.js在該菜單鏈接上發送發佈請求。

YOURSITENAME /後連桿?數據1 = ABC &數據2 =高清

然後獲取這些菜單上的數據後回調函數中使用drupal_get_query_parameters()功能。

function mymodule_abc_view() { 
    // ... 
    $parameters = drupal_get_query_parameters(); 
    print "<pre>"; 
    print_r($parameters); 
    print "</pre>"; 
    } 

這可能對您有所幫助。

感謝,