2017-01-06 5 views
2

login.html (옥으로 변환했습니다) localhost : 3000에서 열리는 로그인 페이지입니다. 양식 세부 정보를 index.js (서버)로 보냅니다.post 메서드를 사용하여 req.body 정의되지 않았습니다.

문제점 : console.log (username)에서 출력이 정의되지 않았습니다. 도와주세요. body-parser를 올바르게 사용 했습니까?

var express= require('express'); 
var app = express(); 
var http = require('http').Server(app); 
var io = require('socket.io')(http); 
var bodyParser = require('body-parser'); 

app.use(express.static('./Public')); 
app.set('views', __dirname + '/tpl'); 
app.set('view engine', "jade"); 
app.engine('jade', require('jade').__express); 
app.get("/", function(req, res){ 
    res.render("login"); 
}); 

app.use(bodyParser.urlencoded({ 
    extended : false 
})); 
app.use(bodyParser.json()); 

app.post('/', function(req,res) { 
    var username = req.body.name; 
    console.log(username); 
    }); 

http.listen(3000, function(){ 
    console.log('listening on *:3000'); 
}); 

HTML 코드는 : 당신이 body-parser의 문서를 보면 (login.html)

<html> 
     <body> 
      <form action="/" method="post" enctype="multipart/form-data"> 
      <fieldset> 
       <label for="name">Name:</label> 
       <input type="text" id="name" name="name" placeholder="Enter your full name" /> 
       <br /> 
       <label for="email">Email:</label> 
       <input type="email" id="email" name="email" placeholder="Enter your email address" /> 
       <br /> 
       <input type="submit" value="Create Profile" /> 
      </fieldset> 
      </form> 
      <script> 
      var socket = io.connect("http://loacalhost:3000"); 
      </script> 
     </body> 
    </html> 

답변

1

이를 알 수 있습니다

이 그들의 복잡한, 멀티 시체를 처리하지 않습니다 일반적으로 큰 성격의 . 다중 시체를 들어, 다음과 같은 모듈 에 관심이있을 수 :

웨이터와 연결 - 웨이터 다자간 및 연결 - 다자간 강력한 multer

그래서 당신이에 하나 변경에 enctype = "다중/형상 - 데이터 "를 예를 들어 enctype ="application/json "으로 변경하거나 다른 모듈을 사용합니다.

내가 당신을 도왔기를 바랍니다.

+0

감사합니다. 그것은 작동합니다. – Arpit

+2

내 대답을 유용하고 귀하의 질문에 대한 답으로 표시해 주시겠습니까? 나는 정말로 그것을 고맙게 생각할 것이다. –

관련 문제