Express 获取返回304或刷新时无法获取页面

Express 获取返回304或刷新时无法获取页面,express,mongoose,Express,Mongoose,我的问题很棘手 我处理了错误:通过将/page\u名称添加到我的server.js,无法在刷新页面上获取该名称 app.get('*', function (req, res) { res.sendFile(__dirname + '/app/index.html'); }); 但是现在,当我进入一个页面时,我有像get/post这样的函数。它返回304 如果我删除app.get(“*”…),如果没有得到一个带有“cannot get/page_name”的空白页面,我将无法刷新,但是

我的问题很棘手

我处理了错误:通过将/page\u名称添加到我的server.js,无法在刷新页面上获取该名称

app.get('*', function (req, res) {
    res.sendFile(__dirname + '/app/index.html');
});
但是现在,当我进入一个页面时,我有像get/post这样的函数。它返回304

如果我删除app.get(“*”…),如果没有得到一个带有“cannot get/page_name”的空白页面,我将无法刷新,但是如果我从索引开始手动进入该页面,我的get和post将完美工作

304的返回是纯html,而它应该是json

在不破坏对服务器的调用的情况下,如何在任何页面上启用刷新

我的部门

"express": "4.15.2",
"morgan": "~1.0.0",
"mongoose": "4.9.8",
"body-parser": "1.17.1"
app.get('*',函数(req,res){
res.sendFile(uu dirname+'/app/index.html');
});
将捕获您的所有请求(这就是
*
的目的)

因此,如果你打算保持这种行为,你可以每隔一次就宣布这条路线

关于纯html中的错误页面:
要使用express,您必须设置
app.use(函数(err、req、res、next){
json({error:'some message'})
})

为了理解/route不匹配的原因,您可以执行类似于
app.use(函数(req、res、next)的操作{
控制台日志(请求路由);
})

要查看哪里出了问题,这是我正在建设的网站。你可以看到我的进入菜单“Ajour artist”。是的,你的问题是,对于任何请求,你都在提供index.html文件(尝试m-p-adrien-hascour.c9users.io/api/avbzzz)。你必须删除
*
或将
app.get('*',
放在最后一个位置(路由器和/api/)此外,如果您打算提供index.html以外的其他页面,您可以查看OMG,即“将app.get('*',放在最后一个位置(在路由器和/api/之后)”,我将其放在app.use('/api',router)之后;它就像一个符咒一样工作