我正在尝试创建一个只接收来自index.js文件的get请求的页面,然后显示" hello user"。我创建了一个&users; users.ejs'我的快递应用程序中的文件只是从' users.js'中呈现一个字符串。文件。我的index.ejs文件中有一个表单,它重定向到我的users目录。当我输入' /'时,索引文件很有效。在网址框中的目录,但由于某种原因,当我在第一页的表单上点击提交而不是显示' users.ejs'时,该文件会在浏览器中抛出404 not found错误。页面,任何人都可以告诉我它为什么这样做?
index.ejs
<!DOCTYPE html>
<html>
<head>
<title><%= title %></title>
<link rel='stylesheet' href='/stylesheets/style.css' />
</head>
<body>
<h1><%= title %></h1>
<p>Welcome to <%= title %></p><br>
<form action='/users' method='get'>
Enter Name: <input type='text' name='thetext'></input><br><br>
<input type='submit' id='checkresponse'>enter</button>
</form>
<script type = 'text/javascript' src = '/dist/jquery.js'></script>
<script type = 'text/javascript' src = '/js/response.js'></script>
</body>
</html>
&#13;
index.js
var express = require('express');
var router = express.Router();
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index', { title: 'Expr-Ass' });
});
module.exports = router;
&#13;
users.js
var express = require('express');
var router = express.Router();
/* GET users listing. */
router.get('/users', function(req, res, next) {
res.render('users', {star:'Sparksiano'});
});
module.exports = router;
&#13;
users.ejs
<!DOCTYPE html>
<html>
<head>
<title><%= star %></title>
<link rel='stylesheet' href='/stylesheets/style.css' />
</head>
<body>
<h1>Welcome user!</h1>
</body>
</html>
&#13;
答案 0 :(得分:1)
根据以下评论,你可能想尝试这样的事情:
users.js
var express = require('express');
var router = express.Router();
/* Notice the path change */
router.get('/', function(req, res, next) {
res.render('users', {star:'Sparksiano'});
});
module.exports = router;
听起来您可能正在安装路径以包含/ users,然后拥有路径为/ users的路径。如果您发布了其余的服务器端代码,则更容易进行故障排除。
答案 1 :(得分:0)
我将各种ejs文件放在一个文件夹中,然后指向快递路由器将该文件夹用作路径:
var app = express();
app.set('port', 6000);
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');
然后我将它们路由到那些页面:
app.get('/', function (req, res) {
res.render('index', {title: 'Express'});
});
app.get('/users', function (req, res) {
res.render('users', {star:'Sparksiano'});
});
确保users.ejs页面位于同一文件夹中。