什么是Connect methodOverride()

时间:2014-01-13 04:42:42

标签: node.js connect

在快速生成的代码中:

...
app.use(express.urlencoded());
app.use(express.methodOverride());
app.use(express.cookieParser('my secret cat'));
...

express.methodOverride()对我来说并不陌生。我阅读了doc连接文档here,但仍然错过了整个图片。

我的问题是:

我们需要在什么情况下使用 express.methodOverride()覆盖方法(GET,POST,PUT和DELETE)?

我找到了相关的答案here,但我的后续问题是:

如果没有 express.methodOverride(),我无法在Express中使用app.put(),app.delete(),app.get(),app.post()。它是否正确?

1 个答案:

答案 0 :(得分:2)

methodOverride是使用标准表单提交提交的浏览器表单的可供性,该表单提交只能使用GET或POST方法。此外,Adobe Flex似乎也限制了它可以发送的HTTP方法。有关详细信息,请参阅this answer。如果您正在使用与服务器的XmlHttpRequest(AJAX)交互,那么现在的浏览器可以很好地完成所有REST方法。

外卖始终使用完整的REST方法代码编写您的快速代码app.putapp.del等。如果您正在执行<form>代码提交,请使用{{1同样一切都会很好。