我正在尝试使用express static获取网页,而下面是服务器代码。
app.use(express.static('DIR/webfiles'));
app.get('/test', function(req, res) {
console.log("got req");
res.sendfile("login.html");
});
app.get('/', function(req, res) {
console.log("got req");
res.sendfile("login.html");
});
当我请求localhost:port / test(来自浏览器)时,我能够看到login.html页面并在服务器端打印“got req”但是当我请求localhost:port或localhost:port /时,我在webfiles文件夹中获取了一些其他文件。它不打印“got req”。空的GET处理程序是否被express static覆盖?
当我删除“app.use(express.static('DIR / webfiles'));”行,它能够获得空的GET请求,但不能按照我想要的方式工作。为什么它没有得到空请求以及如何处理空请求。
答案 0 :(得分:1)
Express将按声明的顺序处理各种路由处理程序(包括静态中间件)。
如果您请求$query = "DELETE FROM taxaapp_users WHERE id = '$clientId' AND grp = '$grp'";
$response['errorMsg1'] = $query;
if (sqlQuery($query)){
$response['success'] = "testing " . mysqli_affected_rows($con);
} else {
$result = sqlQuery("SELECT id FROM ");
$response['errorMsg'] = "Der er sket en fejl";
}
function sqlQuery($query) {
global $con;
return mysqli_query($con, $query);
}
,静态中间件将检查名为/
的文件,如果存在,则会返回该文件。
要覆盖此行为,请确保在静态中间件声明之前声明自己的路由处理程序:
webfiles/index.html