在快速生成的代码中:
...
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()。它是否正确?
答案 0 :(得分:2)
methodOverride是使用标准表单提交提交的浏览器表单的可供性,该表单提交只能使用GET或POST方法。此外,Adobe Flex似乎也限制了它可以发送的HTTP方法。有关详细信息,请参阅this answer。如果您正在使用与服务器的XmlHttpRequest(AJAX)交互,那么现在的浏览器可以很好地完成所有REST方法。
外卖始终使用完整的REST方法代码编写您的快速代码app.put
,app.del
等。如果您正在执行<form>
代码提交,请使用{{1同样一切都会很好。