以下是我引用的代码,
axios.get('http://localhost:1337/')
.then( response => {
var dataSet = response.data;
// URL Handle for Data page
app.get('/data', (req, res) => {
res.render('data', {
data = dataSet
});
});
})
.catch( error => {
console.log('An error occurred: ' + error);
});
// URL Handle for Contact page
app.get('/contact', (req, res) => {
res.render('contact');
});
// URL Handle for Error page
app.all('*', (req, res) => {
res.render('error');
});
现在,当我使用 Axios 从数据库获取响应时,我还会在想要 API 响应的所需页面中呈现数据。
但是当我使用“app.all”处理程序处理错误的 URL 句柄时,会出现问题,它会重定向到错误页面。
我需要一个解决方案,其中可以将异常添加到“app.all”处理程序中,并且只要句柄是“/data”,它就不会重定向到“/error”。
请您参考如下方法:
看起来 /data
的路由是在 axios
的异步调用完成后注册的。
尝试将 axios
调用放入路由处理程序
app.get('/data', (req, res) => {
axios.get('http://localhost:1337/').then( response => {
var dataSet = response.data;
res.render('data', {
data: dataSet
});
})
.catch( error => {
console.log('An error occurred: ' + error);
});
});
// URL Handle for Contact page
app.get('/contact', (req, res) => {
res.render('contact');
});
// URL Handle for Error page
app.all('*', (req, res) => {
res.render('error');
});