지금 나는 stackoverflow 게시물의 dussins를 읽었지만 내 bodyparser는 작동하지 않습니다. 사물을 복잡하게 만들지 않기 위해 나는 상상할 수있는 가장 간단한 것으로 바꿨다. 아래 코드는 하나의 단일 경로를 파싱하는 것을 포함한다. 누구든지 문제를 볼 수 있습니까?body-parser에서 아무 것도 반환하지 않음
노선/
var express = require('express');
var router = express.Router();
var bodyParser = require('body-parser');
router.get('/', (req, res) => {
res.send('<form method="POST" action="'+ req.originalUrl +'"><input type="text" id="personalNumber" autocomplete="off"><input type="submit" value="Log in"></form>');
res.end();
});
router.post('/', bodyParser.urlencoded({ extended: false }), (req, res) => {
console.log('personal', req.body, req.personalNumber, res.body, req.headers);
res.send('personal', req.body, req.personalNumber, res.body, JSON.stringify(req.headers));
res.end();
});
module.exports = router;
server.js이
var express = require('express');
var app = express();
var login = require(__dirname + '/routes/login');
app.use('/login', login);
app.listen(80,() => {
console.log('Listening on port 80');
});
사용을 줄 것이다 입력에 아무것도 입력하고 (/ 로그인에 게시물을 트리거) 제출에/로그인가는 단순화 login.js 다음 콘솔 출력 :
Listening on port 80
personal {} undefined undefined { host: 'localhost',
connection: 'keep-alive',
'content-length': '0',
pragma: 'no-cache',
'cache-control': 'no-cache',
origin: 'http://localhost',
'upgrade-insecure-requests': '1',
'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36',
'content-type': 'application/x-www-form-urlencoded',
accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
referer: 'http://localhost/login',
'accept-encoding': 'gzip, deflate',
'accept-language': 'en-US,en;q=0.8,sv;q=0.6' }
예상 출력에는 req.body가 포함되어야합니다. 내 양식의 데이터에 대한 정보.
req.body = {
personalNumber: 'inputData'
};
무슨 일이 일어나고 있는지 좀 더 구체적으로 밝혀야합니다. – nem035
에 코드가 예상하는 것보다 다르게 코드를 실행하면 명령 프롬프트에 예상 결과가 표시됩니까? – Beginner
... 또는 [포트 80에서 실행 중] (http://stackoverflow.com/questions/18947356/node-js-app-cant-run-on-port-80-even-though-theres-no-other -process-blocking-t) 문제가 있습니까? – nem035