大家好,我在使用express js时遇到了有关express.static()函数的问题,我已经使用它为每个路由定义了静态
app.use('/',express.static(path.join(__dirname + '/views/includes')));
app.use('/post/add', express.static(path.join(__dirname + '/views/includes')));
这对于获取请求效果很好,但是当我从表单提交发布请求时,它只是不加载我在任何解决方案上面定义的静态数据?
这是我的 post 方法,它将在处理表单数据后渲染 add_post 页面,我使用 express-handlebars
作为我的 View 引擎
// process add post
app.post('/post/add',function (req,res,next) {
res.render('add_post');
});
谢谢任何帮助,我们将不胜感激
最佳答案
express.static
仅响应 GET(和 HEAD)请求。 documentation没有提到这一点,但是你可以看到代码here 。这是设计使然,因为它的目的只是为 GET 请求提供资源。一般只用于加载静态html、css、js、图片。
POST 请求用于创建资源,因此为 POST 请求提供静态文件没有多大意义。这将是一个罕见的用例。
实现您想要的内容的更常见方法正是您最终所做的:使用 app.post
定义您自己的处理程序。恐怕这可能是最好的前进方向。
关于javascript - 在express js上找不到post请求的静态信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47956514/