ノードjsでexpressを使用して非常に単純なサービスを開発しようとしている初心者である私のサービスの目的は、値を取得し、送信後に次のページに表示される単純なインデックスページです。
問題:ターミナル、つまりノードapp.jsから実行すると、サーバーはポート3000で実行を開始しますが、ブラウザで実行すると、たとえばFire Foxでは、次のエラーが表示されます。「ページが正しくリダイレクトされていません。
Firefoxは、サーバーがこのアドレスの要求を決して完了しない方法でリダイレクトしていることを検出しました。この問題は、Cookieの受け入れを無効にするか拒否することによって発生する場合があります。Firefoxは、サーバーがこのアドレスの要求を決して完了しない方法でリダイレクトしていることを検出しました。この問題は、Cookieの受け入れを無効にするか拒否することによって発生する場合があります。
以下は私のサーバーのApp.jsファイルのコードです
var express = require('express');
var service = require('./routes/service');
var app = module.exports = express.createServer();
// Configuration
app.configure(function(){
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(express.cookieParser());
app.use(express.session({ secret: 'your secret here' }));
app.use(require('stylus').middleware({ src: __dirname + '/public' }));
app.use(app.router);
app.use(express.static(__dirname + '/public'));
});
app.configure('development', function(){
app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
});
app.configure('production', function(){
app.use(express.errorHandler());
});
// Routes
app.get('/', service.home);
app.post('/',service.home_post_handler);
app.get('/items', service.items);
app.listen(3000, function(){
console.log("Express server listening on port %d in %s mode", app.address().port, app.settings.env);
});
Service.js(ルート定義)
exports.home= function(req,res){
if(typeof req.message== 'Undefined')
res.render('home', {title:'My Service'});
else
res.redirect('/items');
};
exports.home_post_handler = function(req,res){
message = req.body.message || 'Message Command is Empty';
req.message = message;
res.redirect('/');
}
// Just using cox in tutorial there they use it as database
/*var items = {
WEL:{name:'Welcome Dear'}
}*/
exports.items = function(req,res){
if(typeof req.message == 'undefined')
res.redirect('/');
else
res.render('items',{title:'My Service - Message', message:req.body.message, items:items});
};