Отправить данные из Drupal в node.js

Я новичок с друпалом.

Я пытался отправить данные из drupal в функцию node.js и сохранить данные из узла в монго.

Я написал функцию в 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 ответа

Решение
<?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));
?>

Это будет отправлять данные в URL. Обратите внимание, что вам необходимо изменить логику на стороне сервера, чтобы получать данные POST вместо данных GET.

Обратитесь сюда для получения дополнительной информации

Если проблема заключается в пробелах между именами, попробуйте использовать urlencode ().

Код будет примерно таким:

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

Для запросов POST я использую SimpleBrowser вместо drupal_http_request(). Он прост в использовании, и вы сможете передавать строки в любой форме.

Другие вопросы по тегам