Перенаправление Nodejs возвращает NULL - PullRequest
0 голосов
/ 14 марта 2019

Я создаю плагин woocommerce для WordPress и API внутри внутреннего сервера Nodejs для подключения.

Я использую curl для вызова API ('https://test.com/test') как обычно:

$curl = curl_init($url);
    curl_setopt_array($curl, array(
        CURLOPT_POST => true,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_HEADER => false,
        CURLOPT_HTTPHEADER => $header,
        CURLOPT_POSTFIELDS => json_encode($body)
    ));

    $result = curl_exec($curl);
    curl_close($curl);

    $response = json_decode($result);

И затем в моем API я должен получить и проверить параметры POST, а затем перенаправить на другой маршрутизатор ('https://test.com/render), чтобы отобразить страницу просмотра ejs). Я пытался использовать

res.redirect(307, 'https://test.com/test')

или

res.writeHead(307, { 'Location': 'https://test.com/test' });
res.end();

или отобразить страницу напрямую

res.render('index', { merchantUser: UserID });

или даже

window.location.href = 'https://test.com/test'

Но первые три вернули NULL напрямую, а последние - «окно не определено». И ни один из них не достигает маршрутизатора перенаправления ('https://test.com/render).

Это все, что я могу найти в Интернете, кто-то может мне помочь или дать мне несколько советов? Большое спасибо.

1 Ответ

0 голосов
/ 17 марта 2019
  • Я бы посоветовал вам дождаться ответа от первого API NodeJ и проверить HTTP-код ответа, если он равен 200, а затем нажать другой API-интерфейс NodeJ.

  • ИЛИ отправьте ответ от NodeJs API, как это, и выведите ответ в php:

    res.send('<script>window.location.href="your URL";</script>');

  • ИЛИ завершите все процессы NodeJ сразу и отправьте страницу просмотра ejs (html) в ответ на запрос php curl

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...