Как избавиться от повторной отправки формы?
с помощью node js (Express) принимаю данные из формы, обрабатываю их и пытаюсь вывести на главную страницу, но проблема в том, что при каждом обновлении страницы после отправки появляется alert, который спрашивает про повторную отправку данных из формы.
Предполагаю, что это из-за localhost:3000 /auth в url, который там почему-то сохраняется.
Как можно решить эту проблему?
const express = require('express');
const app = express();
const keys = require('./test');
const bodyParser = require('body-parser');
const jwt = require('jsonwebtoken');
app.set('view engine', 'hbs');
app.use(bodyParser.urlencoded({ extended: false }));
app.use(express.static('public'));
app.get('/', (req, res) => {
res.render('index');
});
app.post('/auth', (req, res) => {
// generate token
const token = jwt.sign({
nickname: req.body.nickname
}, keys.jwt, { expiresIn: 60 * 60 });
const decode_token = jwt.verify(token, keys.jwt);
res.render('index', { decode_token: decode_token });
});
app.listen(3000);
================================
INDEX PAGE
================================
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h1>Hello, {{ decode_token.nickname }}!</h1>
<a href="/auth.html">Авторизация</a>
</body>
</html>
==========================
AUTH PAGE
==========================
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<a href="/">Главная страница</a>
<form action="/auth" method="POST">
<input type="text"name="nickname">
<input type="text" name="password">
<button type="submit">Go Auth!</button>
</form>
</body>
<script>
</script>
</html>