Как переписать POST запрос PHP на Node js?

Как переписать отправку данного POST-запроса с PHP на Node.js?
$params = [
    'method' => 'getSynText',
    'text' => 'Синонимизация текста совершенно бесплатно'
];
$ch = curl_init('https://rustxt.ru/api/index.php');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "X-Requested-With: XMLHttpRequest",
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
$result = curl_exec($ch);
curl_close($ch);
$json_arr = json_decode($result, true);

print_r($json_arr);


Попробовал сделать так, но пишет undefined:
console.log(getPostResponse());

function getPostResponse() {
    request.post({
        url: 'https://rustxt.ru/api/index.php',
        form: {
            method: 'getSynText',
            text: 'Синонимизация текста совершенно бесплатно'
        }
    }, (err, response, body) => {
        if (err) {
            return err;
        }

        return body;
    });
}
  • Вопрос задан
  • 149 просмотров
Решения вопроса 1
AntiStream
@AntiStream
Потоковый программист
getPostResponse ничего не возвращает в данном случаи, тут надо использовать промис для такого, а саму функцию вызывать c помощью async/await...

(async () => {
    console.log(await getPostResponse());
})();

function getPostResponse() {
    return new Promise((resolve, reject) => {
    request.post({
        url: 'https://rustxt.ru/api/index.php',
        form: {
            method: 'getSynText',
            text: 'Синонимизация текста совершенно бесплатно'
        }
    }, (err, response, body) => {
        if (err) {
            return reject(err);
        }

        resolve(body);
    });
    });
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы