나는 POST 요청을 수신 대기하도록 Express를 구성하는 방법에 대한 몇 가지 다른 질문을 읽었지만 서버에 보내는 간단한 POST 쿼리를 인쇄하려고 할 때 비어있는 JSON 또는 undefined를 지속적으로 얻는다. .express.js의 POST 요청 허용
내가이 설정 한 :
//routes
require('./routes/signup.js')(app);
// Configuration
app.configure(function(){
app.use(connect.bodyParser());
app.use(express.methodOverride());
app.register(".html", hulk);
app.set('views', __dirname + '/views');
app.set('view options', {layout: false});
app.set('view engine', 'hulk');
app.use(express.static(__dirname + '/public'));
app.use(app.router);
});
을 다음 routes/signup.js
는 다음과 같습니다
{{> header.html }}
{{> navigation.html }}
{{> body.html }}
<form action="/signup" method="post">
<input name="email"/>
<input type="submit"/>
</form>
{{> footer.html }}
이 있습니다 :
var common_functions = require('../common_functions.js');
var views = require('../views/view_functions.js');
var globals = require('../globals.js');
var mongoose = require('mongoose');
//declare classes
var User = mongoose.model('User');
module.exports = function(app){
/**
* SignUp GET
*/
app.get('/signup', function(req, res){
res.render('signup/signup.html');
});
/**
* SignUp POST
*/
app.post('/signup', function(req, res){
console.log(JSON.stringify(req.body));
console.log(req.body);
res.send(JSON.stringify(req.body));
});
}
템플릿은 다음과 같습니다 노히 어떤 부분들에 대해서도 특별한 관심이있다.
두 개의 console.log
은 정의되지 않은 것을 인쇄하고 res.send()
은 단순히 이전과 같은 html을 반환합니다. 여기서 내가 뭘 잘못하고 있니?
경로 파일 전이나 구성 블록 이후에 넣었습니까? 그 이전 인 경우 라우터 미들웨어가 bodyParser보다 먼저 스택에 추가됩니다. 경로 파일을 configure 블록 아래로 이동하십시오. –
옙 그것은 완전히 그것이었다. 원한다면 답으로 추가하면 받아 들일 것입니다! 감사. 자바 스크립트를 기억하는 것이 항상 중요합니다 INTERPRETED NOT COMPILED !!! –