method-override(扩展 http请求)
- 增加除浏览器自带的get,post以外的伪请求,增加接口语义话
- 自我实现展示原理
app.user(function (req,res){
let req.method = req.query._menthod // 通过取query里面的伪方法_menthod(客户端传过来的),然后重新设置req.method
})
- 请求头里设置(如果服务器端用X-HTTP-Method-Override)
客户端
var xhr = new XMLHttpRequest();
xhr.open('post', '/', true);
xhr.setRequestHeader('X-HTTP-Method-Override', 'delete');
xhr.send();
服务器端
const method-overrider = require('method-overrider')
app.use(methodOverride('X-HTTP-Method-Override'))
...
app.use(/)
- 常规设置
客户端
<form method="get" action='./'>
<input type="hidden" name="_method" valud="delete"/>
<input type="submit"/>
</form>
服务器端
const method-overrider = require('method-overrider')
app.use(methodOverride('_method'), {methods: ['post', 'get']}) // 如果不设置,只能接受post