У меня есть пост-вызов ajax, и я хочу просто отправить значения формы, не дожидаясь ответа. Я хочу перенаправить из моего экспресс-приложения, а не с клиентской стороны.
на стороне сервера:
router.post("/",
//check inputs,
(req, res)=>{
//handle validation results and sending err responses to ajax
//>check user if exists
// send verification email function
//>check user
//if user doesn't exist && after mail is sent
res.status(200).send(`signup/confirm-email?v=${req.body.email}`);
};
});
на стороне клиента:
$.post('/signup', $('#signup-form-container form').serialize())
.done(lnk=>{
//lnk is the data received(a route)
window.location.replace(`${window.location}${lnk}`);
})
.fail(function(xhr){
//handle errors
};
Я попытался перенаправить из моего экспресс-приложения, используя res.redirect()
, но это не работает без регистрации каких-либо ошибок на консоли и на вкладке network
в инструменте dev, он показывает, что тип запроса xhr
,
Если нет решения этой проблемы, то есть ли способ скрыть запрос в полученном маршруте. Я не хочу, чтобы v=${req.body.email}
отображалось в строке URL.
Заранее спасибо.