Я не уверен, как это сделать, но у меня есть сторона сервера почтовых запросов, которая переходит на два разных маршрута в зависимости от результата запроса.
app.post('/check', function(req, res) {
connection.query("select exists (select * from visit WHERE id = ?) as 'res' ",
id, function(err, result) {
if (err) throw err;
if(result[0].res == 0) {
console.log("Doesn't exist in db.")
res.redirect(307, '/post'); //goes to /post but after post it doesn't go to db
}
else {
//if data exists update
console.log("Exists in db.")
res.redirect(307, '/up'); //goes to up but doesn't go to up.html afterwards
}
});
Таким образом, запрос работает выше. Ниже он не меняет страницу веб-браузера.
app.post('/post', function(req, res) {
//connects to mysql to update database
res.redirect('/post.html'); //---when database updates the page doesn't change
});
Здесь также не работает:
app.post('/up', async function(req, res) {
console.log("/qrupdate: post timeOut");
let now = moment().format('MMMM Do YYYY, h:mm:ss a');
data = req.body;
let id = data.id.toString();
connection.query("UPDATE visit SET timeOut = ? WHERE id=?", [now, id],
function(err, result) {
if (err) throw err;
});
res.redirect('/up.html'); //doesn't change page
});
Так почему же веб-страница не меняется, даже если она перенаправлены? Кроме того, если мне нужно выполнить выборку на стороне клиента, как должна выглядеть выборка? Я не знаю, идет ли он тем или иным путем, поэтому могу ли я это сделать; если это почтовый запрос, обновите страницу в указанном месте, иначе обновите страницу в этом месте? Я не знаю, что возможно или как это должно выглядеть.
fetch(api_url + '/qrcheck', {
method: 'POST', // or 'PUT'
headers: {
'Content-Type': 'application/json'
},
body: qrdata
})
.then((response) => response.json())
.then((data) => {
console.log('Success:', data);
//So here it prints the requests but I guess I wanted to do some kind of if statement
//like if post request was /post then window.location = post.html. Else window.location = up.html
})
.catch((error) => {
console.error('Error:', error);
});