如何将数据从Node js传递到React或从服务器重定向页面

时间:2020-01-06 19:17:47

标签: javascript node.js reactjs routing stripe-payments

最终目的是将付款页面重定向到成功页面,但这在服务器上发生,我从Stripe api得到了对象响应,我想有条件地将其发送到frontend(React),以便我可以将页面或直接从后端执行此操作

条纹按钮

     <div className={styles.buttonsection}>
    <StripeCheckout 
amount={total*100}
label="Credit Card"
name="Boston Maids"
email=""
token={ (token) =>{axios.post('/api/stripe', token)}} 

stripeKey={"*********************"}


/>

server.js

app.post('/api/stripe', async (req, res) => {

   const charge = await stripe.charges.create({
        amount: 5000,
        currency: 'usd',
        description: 'Cleaning Services',
        source: req.body.id


    }).catch(console.error).then(charge =>{if (charge) {
     console.log(charge);

    } ```

2 个答案:

答案 0 :(得分:0)

创建一个新方法来调用后端API。在该API的成功回调中,将结果设置为state,然后处理您要执行的操作。

让我们说,在上面的示例中,如果您要填充令牌,请在状态中从结果中设置令牌,并使用this.state.token(如果您的状态键是来自后端的令牌的令牌)下方:

<StripeCheckout 
amount={total*100}
label="Credit Card"
name="Boston Maids"
email=""
token={this.state.token} 
stripeKey={"pk_test_yBMj0cqYIXUsXeJ0lnVBil1T"}
/>

答案 1 :(得分:0)

我只是在

```const handlerToken =  async (token, total2) => {


     const response = await axios.post("/api/stripe", {
        token,
        total2 ```



```  <StripeCheckout
                  amount={total * 100}
                  label="Credit Card"
                  name="Boston Maids"
                  email=""
                  token={handlerToken}
                  stripeKey={"*****************"}
                /> ```