我在快递路线中使用<input type="text" class="form-control" name="dinner" value={{ dinner_info[0]['dinner_name'] }}>
发送app.all(*)
页面。所以在我所有路线的尽头,我都有:
pagenotfound.html
我正在使用jquery ajax发送发布请求,发现如果到发布请求的路由不存在,它将把整个html页面发送到我的成功回调函数。
app.all('*',security.isLoggedIn, (req, res, next) => {
res.render("pageNotFound.ejs")
})
我知道我可以改变所有的快递来发送类似的内容
$.ajax({
type:"POST",
url:"/urlThatDoesNotExist",
success:function(data){
//data = ENTIRE HTML FILE
}
})
但这意味着我无法向他们显示pageNotFound.html页面。
是否有办法分别捕获所有发布路线和捕获所有获得路线?我不确定你们如何在应用程序中处理它。
答案 0 :(得分:1)
您可以使用app.use()。 您需要做的就是将其放在所有路线的末端并在那里处理。 您可以使用req.method检查它是哪种方法,然后进行处理。
app.use((req, res, next) => {
if (req.method === 'GET')
handleGet()
else if (req.method === 'POST')
handlePost()
else
handleRequests()
})