reactjs - 如果服务器在反应钩子页面中发送 404 消息,我们如何推送到 errorPage
问题描述
/errorPage
如果服务器在反应钩子页面中发送 404 消息,我们如何推送。我正在检查令牌在服务器端是否有效,并在 else 条件下发送404
消息,在这种情况下,我想显示一个 errorPage。这是一个好方法吗,请指教!
/* 此服务用于提交提名 */
server.js
app.post('/service/nominateperson', async (req, res) => {
try {
const nomineeName = req.body.nomineename;
const nomineeEmail = req.body.email;
const description = req.body.description;
const nominatedBy = req.body.nominatedby;
var data = {nomineename:nomineeName, email:nomineeEmail, description:description, nominatedby:nominatedBy};
console.log("Server side display nominations :" + data);
const checkTokenData = await LinkTokenModel.findAll({ attributes: ['token','expiredAt']});
const expiryDate = checkTokenData[0].expiredAt;
const formattedExpiryDate = moment(expiryDate).format('YYYY-MM-DD hh:mm');
const tokenData = checkTokenData[0].token;
var now = moment();
var currentDate = moment(now).format('YYYY-MM-DD hh:mm');
if(currentDate < formattedExpiryDate ){
const nominationData = await NominationModel.create(data);
res.status(200).json({message: "Nomination send successfully !"});
} else {
res.status(404).json({ fail:true});
}
} catch (e) {
res.status(500).json({ fail: e.message });
}
});
nominate.js
import { useHistory } from 'react-router-dom';
const history = useHistory();
const onSubmit = () => {
const fetchData = async () => {
try {
const res = await Axios.post('http://localhost:8000/service/nominateperson', formRegister);
if (res.data) {
console.log("Link token created:" + res.data);
const successMessage = res.data.message;
setHelperText(successMessage);
} else {
history.push('/errorPage');
}
} catch (e) {
console.log(e);
}
}
fetchData();
}
解决方案
在catch(e)
代码部分中,使用history.push('404')
重定向浏览器之类的东西。
如果有路线页面,将显示
推荐阅读
- linux - Kubuntu 20.10 启动时间非常长
- reactjs - 按钮组件未正确显示
- codeigniter-3 - 是否可以将 PWA mainfest 集成到 codeigniter 3 和普通 html 网站中?
- javascript - 有没有人设法将欢迎页面从 Delphi XE2 硬塞到 Delphi 10.2 Tokyo 中?
- git - 权限被拒绝(公钥)&请确保您具有正确的访问权限并且存储库存在
- python - 是什么导致 django-urls.py 中的语法错误
- python - 使用 Python 刷新 Excel - 出现错误
- graph - CosmosDB:使用现有属性创建新属性的 Gremlin 查询
- nginx - 您好,我正在部署我的 django 网站,但 nginx 无法建立链接
- image-classification - 在模型开始时重新缩放层