【发布时间】:2014-04-30 07:16:31
【问题描述】:
以下是 app.use 部分
// redis/session store
app.use(express.cookieParser());
app.use(express.session({
store: new redisStore({ host: 'localhost',
port: 6379,
db: 2
}),
secret: SID
}));
app.use(passport.initialize());
app.use(passport.session());
app.use(express.urlencoded());
app.use(express.methodOverride());
// all environments
app.set('port', process.env.PORT || 3000);
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.json());
app.use(app.router);
app.use(require('stylus').middleware(path.join(__dirname, 'public')));
app.use(express.static(path.join(__dirname, 'public')));
这是路由
var saveProfile = require('./routes/saveProfile');
.
.
.
// form handling
app.post('/saveProfile',saveProfile.save);
这是表单的处理程序
exports.save = function(req,res) {
try {
var i = 0;
console.log(req.body.displayName);
}
catch(e) {
console.log(e.message);
}
};
最后是生成实际表单的翡翠代码
form(method='POST',action='/saveProfile')
div(class='topBannerHeading')
span.
Profile
div
input.formButton(type='submit',text='Save',value='Save')
div(class='formHolder')
h1.
Your Cloud Services
a(href='/googleRequestAuthorization')
img.selectedService(src='images/Google-48x48.png',alt='Authorize Google')
h1.
Personal
span
div.
Name:
input#displayName(type='text',value=profile.displayName,style='width:300px')
div.
Address:
input#AddressLine1(type='text',style='width:300px')
div.
input#AddressLine2(type='text',style='width:300px')
div.
Town:
input#AddressTown(type='text',style='width:200px')
div.
County:
input#AddressCounty(type='text',style='width:200px')
div.
Post/Zip code
input#Postcode(type='text',style='width:200px')
div(style='margin-top:40px').
Telephone
input#Telephone(type='text',style='width:200px')
div.
Mobile:
input#Mobile(type='text',style='width:200px')
div.
Fax No:
input#FaxNo(type='text',style='width:200px')
div.
Email:
input#EmailAddress(type='text',style='width:300px',value=profile.email)
div.
Web:
input#WebAddress(type='text',style='width:300px')
input#id(type='text',style='visibility:hidden')
查看请求对象的标头
内容类型是 应用程序/x-www-form-urlencoded
内容长度恢复为 0(零)
我已经尝试添加BodyParser()
但尽管它调用处理程序 req.body.displayName 仍然是未定义的
知道我做错了什么,提前感谢。
【问题讨论】:
标签: forms node.js post express pug