method override nodejs code example
Example 1: method override npm
app.use(methodOverride(function (req, res) {
if (req.body && typeof req.body === 'object' && '_method' in req.body) {
// look in urlencoded POST bodies and delete it
var method = req.body._method
delete req.body._method
return method
}
}))
Example 2: require method-override
'use strict';
// Application dependencies
const express = require('express');
const cors = require('cors');
const superagent = require('superagent');
const pg = require('pg');
const methodOverride = require('method-override');
// Application setup
require('dotenv').config();
const app = express();
const PORT = process.env.PORT || 3000;
const client = new pg.Client(process.env.DATABASE_URL);
app.use(cors());
app.use(express.urlencoded({extended: true}));
app.set('view engine', 'ejs')
app.use(methodOverride('_method'))
Example 3: method override
using method-override in your index.js
1. npm install method-override --save
2. var methodOverride = require("method-override");
3. app.use(methodOverride("_method"));
//'_method' is what methodOverride will look for
method override in your UPDATE route:
* <form action = "/campgrounds/<%=campground._id%>/edit?_method=PUT"
method = "POST">
and EDIT routes: