将数据从Drupal发送到node.js

时间:2013-06-03 11:43:02

标签: php node.js drupal drupal-7 drupal-form-submission

我是drupal的新手。

我试图将数据从drupal发送到node.js函数,并将数据从节点保存到mongo。

我在php中编写了一个函数

function sample_working_submit($form, &$form_state) { //Function to connect with node and save into Mongo using node
  $Name = check_plain($form_state['values']['Name']);
  $Age = check_plain($form_state['values']['Age']);
  $request_url = "http://10.20.5.112:3001/save/$Name/$Age ";
  $response = drupal_http_request($request_url);
}

只要名称(输入)之间没有“空格”,这就有效。如何用空格保存输入。为什么会出现这个问题?

如何将该功能重写为帖子?

3 个答案:

答案 0 :(得分:2)

<?php
$url = http://localhost:8080/myservlet;

$data = array (
    'name' => check_plain($form_state['values']['Name']),
    'age' => check_plain($form_state['values']['Age'])
    );

$response = drupal_http_request($url, $headers, 'POST', json_encode($data));
?>

这会将数据POST到URL。请注意,您还需要更改服务器端的逻辑以接收POST数据而不是GET数据。

Refer here了解更多信息

答案 1 :(得分:1)

如果名称之间的空格是问题,请尝试使用urlencode()。

代码如下:

$Name = urlencode(check_plain($form_state['values']['Name']));

答案 2 :(得分:0)

对于POST请求,我使用SimpleBrowser而不是drupal_http_request()。它易于使用,您可以以任何形式传递字符串。