页面重定向问题Node-js [英] Page Redirecting issues Node-js

查看:57
本文介绍了页面重定向问题Node-js的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图通过单击show.js页面上的提交"按钮来打开places.ejs文件,就像show.ejs页面通过单击new.ejs文件上的提交"按钮而打开一样,但是发生了参考错误.请帮助我修复错误.我在此附上我的route.js代码和index.js代码的一部分.任何帮助都是非常可贵的.谢谢

I'm trying to open places.ejs file on clicking the submit button on show.js page, just like the show.ejs page opens on clicking the submit button on new.ejs file, but a reference error is occurring. Please help me fix the error. I'm attaching herewith my routes.js code and a part of my index.js code Any help would be highly appreciable. Thank you

routes.js

routes.js

const {
   con,
   sessionStore
 } = require('./config/db');
exports.new = function(req, res){
    message = '';
   if(req.method == "POST"){
      const post  = req.body;
      const username= post.username;
      const title= post.title;
      const state= post.state;
      const category= post.category;
      const description= post.description;
 
      if (!req.files)
                return res.status(400).send('No files were uploaded.');
 
      const file = req.files.uploaded_image;
      var img_name=file.name;
 
         if(file.mimetype == "image/jpeg" ||file.mimetype == "image/png"||file.mimetype == "image/gif" ){
                                 
              file.mv('public/imgs/uploads/'+file.name, function(err) {
                             
               var sql = "INSERT INTO `nt_data`(`username`,`title`,`state`,`category`, `images` ,`description`) VALUES (?,?,?,?,?,?)";
               var query = con.query(sql, [username, title, state, category, img_name, description], function(err) {
                  console.log(err)
                 if (!err) {
                   res.redirect('show/' + category);
                 }
                 else {
                  message = "This format is not allowed , please upload file with '.png','.gif','.jpg'";
                  res.render('new.ejs',{message: message});
                }
               }); 
            }); 
          
   } 
}
   else {
      res.render('new');
   }
 
};
exports.show = function(req, res){
    let message = '';
  
   var category = req.params.category;
    const sql="SELECT * FROM `nt_data` WHERE `category`='"+category+"'"; 
    con.query(sql, function(err, result){
      console.log(err)
     if(result.length <= 0){
     
      message = "show not found!";
      
      res.render('show.ejs',{data:result, message: message});
     }
     else{
      res.redirect('places/'+ username);
    }
   });
};
exports.places = function(req, res){
    let message = '';
  
   var username = req.params.username;
   const sql="SELECT * FROM `nt_data` WHERE `username`='"+username+"'"; 
    con.query(sql, function(err, result){
      
     if(result.length <= 0)
     
      message = "places not found!";
      
      res.render('places.ejs',{data:result, message: message});
   });
};

index.js代码的一部分

part of index.js code

app.get('/new', loginRequired, routes.new);//call for main index page
app.post('/', loginRequired, routes.new);//call for signup post 


app.get('/show/:category', loginRequired, routes.show);
app.post('/', loginRequired, routes.show);
app.get('/places/:username', loginRequired, routes.show);

错误

ReferenceError: username is not defined
    at Query.<anonymous> (C:\Users\hp\Desktop\Internship\Nt\routes.js:62:31)

推荐答案

请保存变量用户名的值是什么.我可以看到您没有为其分配任何值.

Please what is the value is variable username holding. I can see you didn't assign any value to it.

  • 创建一个变量用户名,并将从数据库获取的用户名分配给它.

但是,我更改了重定向路径.

However, I changed the redirection path.

exports.show = function(req, res){
    let message = '';
  
   var category = req.params.category;
    const sql="SELECT * FROM `nt_data` WHERE `category`='"+category+"'"; 
    con.query(sql, function(err, result){
      console.log(err)
     if(result.length <= 0){
     
      message = "show not found!";
      
      res.render('show.ejs',{data:result, message: message});
     }
     else{
      // Take a look;
      const username = #sql.username or anyhow you point to a field 
      res.redirect('/places/'+ username);
    }
   });
};

Try that

这篇关于页面重定向问题Node-js的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆