node.js - What methodOverride mean in node-express-mongoose-demo repository? -
i've looked @ next code:
app.use(methodoverride(function (req, res) { if (req.body && typeof req.body === 'object' && '_method' in req.body) { // in urlencoded post bodies , delete var method = req.body._method; delete req.body._method; homecoming method; } }));
in node-express-mongoose-demo repository , interested do? please explain me?
from official documentation :
method override lets utilize set , delete http methods. in case, app looks _method parameter post query, , if finds it, overrides post request 'delete', , removes parameter body. in practice, you'd utilize on client :
<form method="post" action="/resource" enctype="application/x-www-form-urlencoded"> <input type="hidden" name="_method" value="delete"> <button type="submit">delete resource</button> </form>
note hidden input _method trigger middleware's function.
step step :
if (req.body && typeof req.body === 'object' && '_method' in req.body) { //if have body, , contains _method field var method = req.body._method; // override post method value of _method field (eg:delete in our example) delete req.body._method; //remove field body, don't need anymore homecoming method; } //and our post request delete!
node.js mongodb mongoose
No comments:
Post a Comment