2017-01-08 16 views
0

私のウェブページへのログインにはいくつかの問題があります。単純なログインnode.js + mongoDB POST /ログインできません

私は、電子メールと私のDBでのユーザー持っている:[email protected]をし、合格123

問題は、私はPOSTメソッドを作るとき、それは私に次のエラーを返すということです。

*Cannot POST /login* 

これは私のapp.jsです:

var mongoose = require('mongoose'); 
var express = require('express'); 
var app=express(); 
var bodyParser = require('body-parser'); 

mongoose.connect("mongodb://localhost/myDB"); 
app.use(bodyParser.json()); 
app.use(bodyParser.urlencoded({extended: true})); 
var userSchema = { 
    email:String, 
    pass:String 
}; 

var Usuario = mongoose.model("Usuario",userSchema); 
app.use(express.static("public")); 
app.get("/",function(solicitud,respuesta){ 
    respuesta.sendFile('.../prueba.html'); 
}); 

app.post("/login",function(require,respuesta){ 
    var email = require.body.email; 
    var pass = require.body.pass; 
    console.log("post received: %s %s", email, pass); 
    User.findOne({email: email, pass: pass}, function(err,user){ 
     if(err){ 
      console.log(err); 
     }  
     respuesta.sendFile('.../work.html'); 
    }); 
}); 
app.listen(3000); 

、今これが私のprueba.htmlです:

<html> 
<head> 
    <title></title> 
</head> 
<body> 
    <!--div class="col-md-5 center-block no float top-pace text-left"--> 
    <form method="post" action="/login" > 
     <input type="text" name="email"> 
     <input type="text" name="pass" > 
     <button type="submit" >login </button> 
    </form> 
</body> 
</html> 
+0

私は問題が何であるか知らないが、私はいくつかの構成が欠落している参照してください。 ファースト: この行の前: mongoose.connect( "mongodb:// localhost/myDB"); 書き込み: mongoose.Promise = global.Promise; 2番目: これを変換します。 var userSchema = { email:String、 pass:String }; これには: var userSchema = mongoose.Schema({ email:String、 pass:String }); まだ同じエラーが発生している場合はお知らせください。 –

+0

あなたは 'User'を定義しましたか? – Arpit

+0

ユーザーの代わりにUsuario @Arpitを入れたかった – Ans

答えて

0

あなたはUsuarioとしてmodelを作成し、あなたのPOSTリクエストでUserを使用して、以下のように、Usuarioにそれを変更してみてください:

app.post("/login",function(require,respuesta){ 
    var email = require.body.email; 
    var pass = require.body.pass; 
    console.log("post received: %s %s", email, pass); 
    Usuario.findOne({email: email, pass: pass}, function(err,user){ 
     if(err){ 
      console.log(err); 
     }  
     respuesta.sendFile('.../work.html'); 
    }); 
}); 
+0

私はあなたの選択肢を試しましたが、問題はそこに残っています... :( – Ans

関連する問題