【问题标题】:Getting Text Box Value using express.js in nodejs在 nodejs 中使用 express.js 获取文本框值
【发布时间】:2012-05-22 03:34:27
【问题描述】:

作为一个初学者,我正在尝试使用 node js 中的 express 开发一个非常简单的服务,我的服务的目的是一个简单的索引页面获取一个值,并在提交后显示在下一页..

问题: 当我从终端运行它时,即节点 app.js 服务器开始在端口 3000 上运行 但是当我在浏览器上执行它时,例如 Fire Fox,它会显示以下错误 "页面重定向不正确

Firefox 检测到服务器正在以永远不会完成的方式重定向对该地址的请求。 此问题有时可能是由于禁用或拒绝接受 饼干。 Firefox 检测到服务器正在以永远不会完成的方式重定向对该地址的请求。 此问题有时可能是由于禁用或拒绝接受 饼干。

以下是我的服务器 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});
}; 

【问题讨论】:

    标签: node.js express


    【解决方案1】:

    以下中间件有机会继续相互重定向。

    exports.home= function(req,res){
      if(typeof req.message== 'Undefined')
        res.render('home', {title:'My Service'});
      else
        res.redirect('/items');
    };
    
    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});
    }; 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-09
      • 1970-01-01
      相关资源
      最近更新 更多