我有一个与stripe集成的基本节点应用程序。客户端javascript生成令牌,该令牌在POST请求中发送到服务器。然后,服务器向Stripe API发送进行支付的令牌。我想将用户重定向到显示一些信息的页面,例如付款成功或付款出错。
当我将res.render("/charge", {<some-JSON>});
放入处理POST请求的代码中时,它将发送页面/charge
作为对POST请求的响应。有没有一种方法可以向用户发送页面作为响应,而不是向POST请求发送响应?
节点代码段:
app.post(req, res) {
// Some Code
}
答案 0 :(得分:0)
根据我从您的帖子和评论中收集的信息。您正在寻找一种将Stripe响应数据显示到网页中的方法。
不要使用客户端JavaScript来执行传统的AJAX请求,而是使用表单将数据提交到服务器端。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span class="toggle-color" data-hex="#f5f5dc" data-color="bezhevyi" style="background-color: #f5f5dc">
<input type="checkbox" name="color" class="colors">
</span>
<span class="toggle-color" data-hex="#ffffff" data-color="belyi" style="background-color: #ffffff">
<input type="checkbox" name="color" class="colors">
</span>
<span class="toggle-color" data-hex="#add8e6" data-color="goluboi" style="background-color: #add8e6">
<input type="checkbox" name="color" class="colors">
</span>
在服务器端,以<form action="/stripe" method="post">
<input type="text" value="whatever" name="batman">
<button type="submit">Pay</button>
</form>
为例创建一个端点,但是该端点必须与app.use('/stripe')
属性中的值匹配。然后只需用条纹响应呈现页面即可。
action=""