用mongoose,express和node.jssearch表单 错误:发送后无法设置标题

我试图做一个search使用作为参考从Monitoria集合的字段,我正在使用自己的路线和作为方法GET的forms,但我没有得到它,我得到这个错误,这个消息路线:

错误信息

消息在路线中。 “Pesquisar”是用葡萄牙语search的

代码路线:(“Pesquisar”,它是在葡萄牙search)

app.route('monitorias/pesquisar') .get(function(req, res) { //var monitoria = req.body.nomeMonitoria; //console.log(monitoria); Monitoria.find({name: req.body.nomeMonitoria}, function(err, monitoria) { if (err) { res.json(err); } else { //res.render('result', {"monitoria": monitoria[0]} ); console.log(monitoria); } }); }); 

在html文件中的表单:(“Pesquisar”是用葡萄牙语search的)

  <form action="/monitorias/pesquisar" method="get" class="form-inline"> <label class="sr-only" for="nomeMonitoria">Monitoria</label> <input type="text" class="form-control" id="nomeMonitoria" name="nomeMonitoria" placeholder=" Name of Monitoria..."> <button type="submit" class="btn btn-primary">Search</button> </form> 

和Monitoria的模式:

 var MonitoriaSchema = new Schema({ name: { type: String, required: 'Por favor, entre com o nome da monitoria' }, code: { type: String, required: 'Por favor, entre com o código da monitoria', }, oferta: { type: String, default: '2017-02' }, local: { type: String, default: null }, googlemaps: { type: String, default: null }, Horarios: { type: [String], default: null } }); 

我一直坚持了好几个小时。 我感谢任何帮助。

解决了!

这是错误的路线:

app.route('monitorias/pesquisar') – > app.route('/monitorias/pesquisar')

而req参数也是错误的,在req.body.nomeMonitoria函数中改变了req.query.nomeMonitoria

所以:

 app.route('monitorias/pesquisar') .get(function(req, res) { Monitoria.find({name: req.query.nomeMonitoria}, function(err, monitoria) { if (err) { res.json(err); } else { res.render('result', {"monitoria": monitoria} ); } }); });