ExpressJs无法获取/注册错误

时间:2013-08-28 12:03:24

标签: html node.js express redis

我使用expressjs时遇到错误。它说“不能GET /register.html”。我不知道如何解决这个问题。我想将register.html显示给/ register,但我总是收到错误。顺便说一句,这是我的代码人。谢谢你们,我希望你们可以帮助我,我已经用Google搜索了这个错误1小时但我还是不能让它发挥作用。

app.js

var express = require("express");
var app = express();
var redis = require("redis");
var client = redis.createClient();
var reply;

app.use(express.bodyParser());

client.on("error", function (err) {
console.log("error event - " + client.host + ":" + client.port + " - " + err);
});

app.get("/", function (req, res) {
res.sendfile(__dirname + "/login.html");
});

app.get("/", function (req, res) {
res.sendfile(__dirname + "/register.html");
});

app.post("/login", function (req, res) {
res.sendfile(__dirname + "/login.html");
console.log("--------------------");
console.log(req.body.user.username);
console.log(req.body.user.password);
console.log("--------EOF---------");
client.hmget( "credentials", req.body.user.username, function (err,pass) {
    console.log("req.body.username: " + req.body.user.username);
    console.log("req.body.password: " + req.body.user.password);
    console.log("pass: " + pass );
    console.log("err: " + err );

   if ( (!err) && pass && pass == req.body.user.password )
       res.write( "Successfully logged in!" );
   else if ( pass == false) 
    res.write("Account Does not Exist")
   else
       res.write( "Password is incorrect");
   res.end();
 });
});


app.post("/register", function (req, res) {
res.redirect("/register.html");
console.log("--------------------");
console.log(req.body.user.fname);
console.log(req.body.user.lname);
console.log(req.body.user.username);
console.log(req.body.user.pass);
console.log(req.body.user.email);
console.log(req.body.user.mobile);
console.log(req.body.user.mydate);

console.log("--------EOF---------");
client.hmset("credentials",req.body.user.uname, "first_name",req.body.user.fname, 
"last_name",req.body.user.lname, "username", req.body.user.uname, 
"password", req.body.user.pass, "email", req.body.user.email,
"mobile", req.body.user.mobile, redis.print);
res.write("data inserted");
res.end();

});

app.listen(1337);

这是我的 login.html

<html>
<head></head>
<body>
<p>
<form method="post" action="/login">

Username: <input type="text" name="user[username]"> <br>
Password: <input type="text" name="user[password]"> <br>

<input type="submit" value="Submit"> <br>
<a href="/register.html">Register!</a>
</form>
</p>
</body>
</html>

这是我的 register.html

<html>
<head></head>
<body>
<p>
<form method="post" action="/register">
First Name: <input type="text" name="user[fname]"> <br>
Last Name: <input type="text" name="user[lname]"> <br>
Username: <input type="text" name="user[username]" > <br>
Password: <input type="text" name="user[password]"> <br>
Email: <input type="text" name="user[email]"> <br>
Mobile Number: <input type="text" name="user[mobile]"> <br>
<input type="submit" value="Submit">
</p>
</form>
</body>
</html>

1 个答案:

答案 0 :(得分:0)

/ register的路由应如下所示:

app.get("/register", function (req, res) {
  res.sendfile(__dirname + "/register.html");
});

目前您已将登录和注册视图都放在“/”上,但只有第一个可以使用。