Javascript 使用mongoose、express和node.js搜索表单。错误:can';t在发送邮件后设置邮件头

Javascript 使用mongoose、express和node.js搜索表单。错误:can';t在发送邮件后设置邮件头,javascript,node.js,express,mongoose,Javascript,Node.js,Express,Mongoose,我尝试使用Monitoria集合中的一个字段作为引用进行搜索,我使用的表单有自己的路由和方法GET,但我没有得到它,我在路由中得到了以下错误和消息: 带有代码的路线:(“Pesquisar”是葡萄牙语搜索) html文件中的表单:(“Pesquisar”是葡萄牙语搜索) 我已经被困在里面好几个小时了。非常感谢您的帮助。问题解决了 路线不对: app.route('monitorias/pesquisar')->app.route('/monitorias/pesquisar') 在函数cha

我尝试使用Monitoria集合中的一个字段作为引用进行搜索,我使用的表单有自己的路由和方法GET,但我没有得到它,我在路由中得到了以下错误和消息:

带有代码的路线:(“Pesquisar”是葡萄牙语搜索)

html文件中的表单:(“Pesquisar”是葡萄牙语搜索)

我已经被困在里面好几个小时了。非常感谢您的帮助。

问题解决了

路线不对:

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

在函数change
req.body.nomeMonitoria
for
req.query.nomeMonitoria

因此:


您已将响应注释掉。这是故意的吗?这样做:res.render('result',{“monitoria”:monitoria[0]});删除//我故意对该部分进行了注释,这样我可以更好地分析reqWithout注释发生的情况错误是相同的,api也会下降。我不认为上面的任何代码会导致您的问题。。。您有一行代码,可能是在express配置中,您正在设置响应头,而响应已经发送。。。。尝试查找
res.setHeader
或仅查找
setHeader
。。。你会发现在错误的地方添加了一个。。。或者如果您可以发布您的express配置代码
  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);
        }
      });
    });
 <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>
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')
    .get(function(req, res) {
      Monitoria.find({name: req.query.nomeMonitoria}, function(err, monitoria) {
        if (err) {
          res.json(err);
        } else {
          res.render('result', {"monitoria": monitoria} );
        }
      });
    });