【问题标题】:Node.js: methodOverride doesn't workNode.js:方法覆盖不起作用
【发布时间】:2013-02-28 14:18:10
【问题描述】:

在服务器端:

var express = require('express');
var app = express();
app.listen(8000);

app.configure(function(){
  app.use(express.methodOverride());
});

app.put('/update', function (req, res) {
  res.send("update!");
})

我想测试put 方法

在客户端:

<form action="/update">
    <input type="hidden" name="_method" value="put"/>
    <input type="submit" value="submit">
</form>

但结果是

Cannot GET /update?_method=put

那么,我的代码有什么问题?

【问题讨论】:

    标签: node.js methods put


    【解决方案1】:

    您还需要包含 bodyParser 中间件:

    app.use(express.bodyParser());
    app.use(express.methodOverride());
    

    【讨论】:

      【解决方案2】:

      您有一个错字:/upadte 应该是 /update

      编辑:尝试在表单标签中使用method="post"

      【讨论】:

      • 我已经更正了update,但它仍然不起作用,如上所述
      • 不需要发帖,请查看 robertklep 的回答。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-13
      • 1970-01-01
      • 2021-07-21
      • 2019-12-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多