Ошибка типа: req.next не является функцией NOde js Express ОШИБКА - PullRequest
0 голосов
/ 31 марта 2020

Это мое приложение. js. Я не мог найти причину этой ошибки. Заранее спасибо

app.post('/dashboard', function(req, res) {
const id=req.body;
var ref=firebase.database().ref("Users").orderByChild("username").equalTo(id.user);
ref.once("value",snapshot=>{
  if(snapshot.exists()){
    snapshot.forEach((function(child) { pass=child.key; }));
    firebase.database().ref("Users").child(pass).once("value",snapshot=>{
      if(id.password==snapshot.val().password){      
        dstname=snapshot.val().username;
        var DbData = firebase.database().ref(dstname).orderByChild("status").equalTo(0);
        DbData.on('value', function(snapshot) { np=snapshot.numChildren(); 
          DbData = firebase.database().ref(dstname).orderByChild("status").equalTo(1);
          DbData.on('value', function(snapshot) { na=snapshot.numChildren();
            DbData = firebase.database().ref(dstname).orderByChild("status").equalTo(2);
            DbData.on('value', function(snapshot) { nr=snapshot.numChildren();
              req.session.loggedin = true;
              req.session.username=dstname;
              return res.render("dashboard",{np:np,na:na,nr:nr,
                dstname:dstname});
            });
          });
        });          
      }  
      else{
        return res.render("login",{message:"Invalid Username or Password"});
      }          
    });        
  }
  else{
    return res.render("login",{message:"Invalid Username or Password"});
  }
 });  
 });      

app.get("/dashboard",function(req,res){
    dstname=req.session.username;
    if(req.session.loggedin){
      return res.render("dashboard",{np:np,na:na,nr:nr,
        dstname:dstname});
    }
    else{
      return res.render("login",{message:"Please Login to view contents"});
    }

 });
app.get("/approved",function(req,res){
 dstname=req.session.username;
if(req.session.loggedin){
  return res.render("approved",{dstname:dstname});
}
else{
  return res.render("login",{message:"Please Login to view contents"});
    }

  });
 app.get("/track",function(req,res){
dstname=req.session.username;
if(req.session.loggedin){
  return res.render("map-google",{dstname:dstname});
}
else{
  return res.render("login",{message:"Please Login to view contents"});
}
});

app.get("/notifications",function(req,res){
dstname=req.session.username;
if(req.session.loggedin){
  return res.render("notifications",{dstname:dstname});
}
else{
  return res.render("login",{message:"Please Login to view contents"});
}
});
  app.get("/pending",function(req,res){
dstname=req.session.username;
if(req.session.loggedin){
  return res.render("pending",{dstname:dstname});
}
else{
  return res.render("login",{message:"Please Login to view contents"});
}
  });

 }
});

Это действительная ошибка:

C: \ Users \ jobyk \ Desktop \ cytrack2 \ node_modules \ express \ lib \ response. js: 1007 if (err) возвращает req.next (err); ^

Ошибка типа: req.next не завершена (C: \ Users \ jobyk \ Desktop \ cytrack2 \ node_modules \ express \ lib \ response. js: 1007: 25) в C: \ Users \ jobyk \ Desktop \ cytrack2 \ node_modules \ hbs \ lib \ hbs. js: 85: 9 в FSReqCallback.readFileAfterClose [as oncomplete] (внутренний / fs / read_file_context. js: 63: 3)

Эта ошибка отображается, когда я нажимаю кнопку (одобрить / отклонить) в моем файле dashboard.hbs. Это мой сценарий dashboard.hbs:

firebase.initializeApp(config);
const dstname=document.getElementById("u1").value;
var table = document.querySelector('#table1 tbody');
const DbData = 
firebase.database().ref(dstname).orderByChild("status").equalTo(0);
DbData.on('value', snap => {
while(table.hasChildNodes()) {
  table.removeChild(table.firstChild);
}
var users = snap.val();
for(var i in users) {
var row = table.insertRow(-1);
for(var j in users[i]) {
  if(j=="lat"||j=="long"||j=="status")
    continue;
    cell = row.insertCell(-1);
          cell.innerHTML = users[i][j];

  }
      cell = row.insertCell(-1);
  row.cells[row.cells.length-1].innerHTML=`<input onclick="approve(name);" 
 type="submit" name=${i} value="Approve" class="approve-btn"/>`;
  cell = row.insertCell(-1);
  row.cells[row.cells.length-1].innerHTML=`<input onclick="reject(name);" 
type="submit" name=${i} value="Reject" class="reject-btn"/>`;

}
});

}());
function approve(name){
approveorreject(name,1);
}
function reject(name){
 approveorreject(name,2);
}
function approveorreject(name,key) {
const dstname=document.getElementById("u1").value;
var ref=firebase.database().ref(dstname).child(name).child("status");
ref.set(key);
};

1 Ответ

0 голосов
/ 31 марта 2020

Ах. Вероятно, вы вызываете res.render несколько раз в одном запросе.

ref: https://github.com/expressjs/express/issues/4093

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...