我正在构建一个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)。
这就是我在网上可以找到的所有内容,有人可以帮助我还是给我一些建议?非常感谢。
答案 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请求的响应