ReactJS - обрабатывать POST-запросы, используя реагирующий маршрутизатор dom - PullRequest
0 голосов
/ 27 августа 2018

Есть ли способ обработки POST запросов с использованием библиотеки react-router-dom (npm)?

Почему? Платежный шлюз перенаправит пользователя, который успешно оплатил, обратно на платформу. Я могу использовать запрос GET или POST для передачи данных со страницы перенаправления. Но я не люблю, когда данные отображаются в URL. Другие варианты всегда приветствуются, я использую REST API (Node.JS, Express) и веб-сайт / панель инструментов (ReactJS)

Ответы [ 2 ]

0 голосов
/ 27 августа 2018

Я получаю то, что вы ищете, но вы не можете POST в браузере. Если вам неудобно передавать данные в виде GET параметров в URL-адресе, вы можете:

  1. хранить данные в LocalStorage, когда пользователь отправляет
  2. доставляет серверный статический HTML при перенаправлении, который содержит информацию о покупке
  3. асинхронно получает данные о покупках пользователя при загрузке страницы с помощью AJAX или fetch() (или вашей любимой утилиты для сбора данных).

Поскольку вы находитесь в мире React, я бы порекомендовал третий вариант здесь. Как получить данные, построить конечную точку API, сохранить данные, а затем отобразить их, выходит хорошо за рамки этого вопроса, поэтому я бы предложил поиск в Google. Вот отправная точка: https://code.tutsplus.com/tutorials/introduction-to-api-calls-with-react-and-axios--cms-21027

0 голосов
/ 27 августа 2018

Вы можете обработать POST-запрос на вашем экспресс-сервере, а затем перенаправить на статическую страницу вашего приложения:

app.post('/payment_webhook', (req, res) => {
    const paymentOk = req.body.payment // handle POST data
    if (paymentOk) {
        res.redirect('http://app.com/payment_success');
    } else {
        res.redirect('http://app.com/payment_failed');
    }
});
...