javascript - 在express js上找不到post请求的静态信息

标签 javascript node.js express

大家好,我在使用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/

相关文章:

javascript - 如何使我的搜索模糊

javascript - 动态调用router函数

javascript - Node repl 中奇怪的(让)变量赋值行为 - 无法赋值

node.js - .findOne 未将结果传递给回调

node.js - StrongLoop 环回 - 错误 : Cannot find module 'on-finished'

javascript - 尝试通过 Canvas 绘制图像时出现异常

javascript - 如何为数组(或节点列表)进行事件委托(delegate)

node.js - 在本地主机中登录但在 Heroku 中部署时出现错误 "secret option required for sessions"

javascript - Express.js不是 `res.send`集吗?

javascript - ExpressJS 错误处理不起作用