Node.js重定向返回NULL

时间:2019-03-13 21:25:59

标签: php node.js wordpress

我正在构建一个WordPress woocommerce支付插件,并在Nodejs后端服务器内部建立一个API进行连接。

我正在使用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 :(得分:0)

  • 我建议您等待来自NodeJs的第一个API的响应并检查响应http代码,如果它是200,然后单击另一个NodeJs API。

  • 或像这样从NodeJs API发送响应,并在php中回显响应:

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

  • 或立即完成所有NodeJ流程,并发送ejs视图页面(html)作为对php curl请求的响应