익스프레스 프레임 워크를 사용하여 작은 node.js 응용 프로그램이 있지만 어떤 이유로 응용 프로그램이 POST 요청에 응답하지 못합니다. 서버 로그에서 나는 단순히 "POST/404 5ms"를 얻었고 그 이유를 알 수 없습니다.Node.js express POST 404ing
편집 : 명확히하기 위해 - 내 문제는 app.post 아무것도에게 일을하지 않는 것입니다
편집 2 : 나는 어떻게 든이 마지막 밤을 해결하기 위해 관리,하지만 지금은 알아낼 수있는 포인트 내가 고정.
는Node.js를 서버 코드 : 실제 웹 페이지에
var express = require('express')
, routes = require('./routes')
, user = require('./routes/user')
, http = require('http')
, path = require('path');
var app = express();
// all environments
app.set('port', process.env.PORT || 3000);
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(express.cookieParser('chocolatechip'));
app.use(express.session());
app.use(app.router);
app.use(express.static(path.join(__dirname, 'public')));
// development only
if ('development' == app.get('env')) {
app.use(express.errorHandler());
}
//pages
//Landing page
app.get('/', routes.index);
app.post('/test',function(req,res){
console.log(req.body);
res.send("received post");
});
//return list containing users
//app.post('/users', user.list);
//return requested user
app.get('/users/:id', user.get);
//app.post('/users/login', user.login);
//server
http.createServer(app).listen(app.get('port'), function(){
console.log('Server listening on port ' + app.get('port'));
});
, 내가있어 자바 스크립트 코드를 다음
var login = $('#login');
var page = $('#page');
var register = $('#register');
var userField = login.find('.user');
var passField = login.find('.pass');
var confPassField = login.find('.confpass');
var form = $('.logform');
$('#formbutton').on('click',function(){
if(register.hasClass('hidden')){
login.addClass('hidden');
confPassField.val('');
var logDat = JSON.stringify(form.serializeArray);
userField.val('');
passField.val('');
page.html("Login form submitted");
$.post(
form.attr("action"),
{test:"test"},
function(data){
alert("Response: "+data)
}
);
}
글쎄, 내 문제는 이미 app.post()를 사용하여보고, 그리고 그것을 작동하지 않습니다보고 대답이 아닙니다. 그것이 내 문제입니다. – LucienK
"/ testent"에서 app.post를 사용하고 있습니다. "/"가 아닙니다. 내 대답을 더 철저하게 읽으십시오. – thomallen
그리고 저는 게시/테스트 였고/아닙니다. 나는 일하도록했다, 이것은 문제가 아니었다. 어젯밤에 작동하도록 망쳐 놓았는데, 지금 내가 만든 변경 사항을 기억하지 못합니다. 나는 피곤할 때 문제를 저지르고 제대로 고쳐주는 것 같습니다 ... – LucienK