Как перенаправить в другой файл ejs в той же папке в node.js - PullRequest
0 голосов
/ 12 мая 2019

Всякий раз, когда я пытаюсь перенаправить мой node.js файл (form.js) на ту же страницу, используя res.redirect("/");, он работает!

Но когда я пытаюсь перенаправить другой файл (welcome.ejs) в той же папке, используя res.redirect("/welcome");, он не работает.

В моем welcome.ejs файле есть это предложение <h1>Welcome Home</h1> и все.

Моя база данных mysql работает нормально, и я вижу сообщение "затронуты строки". Так что я уверен, что там нет проблем. Я даже не получаю никаких ошибок.

Я не могу понять, почему я не могу перенаправить на страницу welcome.ejs, но могу перенаправить на домашнюю страницу (home.ejs или "/"). В браузере сообщение говорит "не могу получить / добро пожаловать"

Я даже пытался вернуть res.redirect(/welcome) или res.redirect("/welcome.ejs"), но это не сработало!

моя структура папок views/home.ejs & views/welcome.ejs.

Может кто-нибудь помочь мне с этим?

это мой form.js код

  app.get('/accountform', function(req, res) {
  var q = "SELECT COUNT(*) AS count FROM `Projects`";
  connection.query(q, function(err, results){

    if (err) throw err;
    var count = results[0].count;
    //res.send("We have " + count + " no of users.");
    res.render("accountform", {count: count});
   });

 app.post('/addproject', function(req, res){
  var project = {
   Project_No: req.body.Project_No,
   Project_Name: req.body.Project_Name,
   Status: req.body.Status,
   Project_Type: req.body.Project_Type

  };
  connection.query('insert into `Projects` SET ?', project, function(err, 
  result){
  console.log(err);
  console.log(result);

  res.redirect("/welcome");
   });
   });
 });

1 Ответ

0 голосов
/ 13 мая 2019

Я пробую что-то рядом с вашим кодом

это мой app.js

    const {getHomePage} = require('./routes/index');
    const {addPlayer} = require('./routes/player');


    app.get('/', getHomePage);
    app.post('/add', addPlayer);

routs / index.js

        module.exports = {
        getHomePage: (req, res) => {
            let query = "SELECT * FROM `players` ORDER BY id ASC"; 
            db.query(query, (err, result) => {
                if (err) {
                    res.redirect('/');
                }
                res.render('index.ejs', {
                    title: "Welcome to Socka | View Players"
                    ,players: result
                });
            });
        },
        };

routs / player.js

         module.exports = {
            addPlayerPage: (req, res) => {
            res.render('add-player.ejs', {
                title: "Welcome to Socka | Add a new player"
                ,message: ''
            });
        },
        addPlayer: (req, res) => {
            if (!req.files) {
                return res.status(400).send("No files were uploaded.");
            }

            let message = '';
            let first_name = req.body.first_name;
            let last_name = req.body.last_name;
            let position = req.body.position;
            let number = req.body.number;
            let username = req.body.username;
            let uploadedFile = req.files.image;
            let image_name = uploadedFile.name;
            let fileExtension = uploadedFile.mimetype.split('/')[1];
            image_name = username + '.' + fileExtension;

            let usernameQuery = "SELECT * FROM `players` WHERE user_name = '" + username + 
                  "'";

            db.query(usernameQuery, (err, result) => {
                if (err) {
                    return res.status(500).send(err);
                }
                if (result.length > 0) {
                    message = 'Username already exists';
                    res.render('add-player.ejs', {
                        message,
                        title: "Welcome to Socka | Add a new player"
                    });
                } else {
                    if (uploadedFile.mimetype === 'image/png' || uploadedFile.mimetype === 
                     'image/jpeg' || uploadedFile.mimetype === 'image/gif') {

                        uploadedFile.mv(`public/assets/img/${image_name}`, (err ) => {
                            if (err) {
                                return res.status(500).send(err);
                            }

                            let query = "INSERT INTO `players` (first_name, last_name, 
                     position, number, image, user_name) VALUES ('" +
                                first_name + "', '" + last_name + "', '" + position + "', '" 
                     + number + "', '" + image_name + "', '" + username + "')";
                            db.query(query, (err, result) => {
                                if (err) {
                                    return res.status(500).send(err);
                                }
                                res.redirect('/');
                            });
                        });
                    } else {
                        message = "Invalid File format. Only 'gif', 'jpeg' and 'png' images 
                    are allowed.";
                        res.render('add-player.ejs', {
                            message,
                            title: "Welcome to Socka | Add a new player"
                        });
                    }
                }
            });
          }
         }

у меня есть index.ejs и addplayer.ejs в папке views

это мой полный код github https://github.com/gayathribrittany/nodeapp

...