通过Express中的POST请求渲染视图

时间:2018-06-25 18:42:04

标签: node.js express post get

我有一个与stripe集成的基本节点应用程序。客户端javascript生成令牌,该令牌在POST请求中发送到服务器。然后,服务器向Stripe API发送进行支付的令牌。我想将用户重定向到显示一些信息的页面,例如付款成功或付款出错。

当我将res.render("/charge", {<some-JSON>});放入处理POST请求的代码中时,它将发送页面/charge作为对POST请求的响应。有没有一种方法可以向用户发送页面作为响应,而不是向POST请求发送响应?

节点代码段:

app.post(req, res) {
    // Some Code
}

1 个答案:

答案 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=""