[英]Input value “undefined” Node.js
我在使用nodejs和express時遇到了一些麻煩,我實際上是想從視圖“inscription.ejs”中獲取輸入的值,但是當我質疑對象“req”時,他返回空值。
項目結構:
上市
server.js
在server.js中,我只是調用routes.js以便使用以下行加載路由:
要求(” ./配置/路由)(應用程序)
在routes.js中,我在控制器文件夾中進行不同的調用,實際上一切正常:
var user = require('../app/controller/user');
var book = require('../app/controller/book');
var home = require('../app/controller/home');
/**
* Expose
*/
module.exports = function (app) {
app.get('/home', home.index)
app.get('/home/inscription', home.inscription)
app.post('/home/inscription', user.addUser)
}
這里的問題,在user.js中:
var mongoose = require('mongoose');
var bodyParser = require('body-parser');
var models = require('../entity/modele')(mongoose);
exports.addUser = function(req, res){
console.log(req.params);
res.render('user');
};
當我發送表單時,我在模板“user.ejs”中重定向,但在控制台中輸入的值是未定義的。 我試着用:
req.body.name
req.param(名稱)
沒有結果。
檢查server.js文件中的body-parser中間件的配置
var express = require('express')
var bodyParser = require('body-parser')
var app = express()
// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }))
// parse application/json
app.use(bodyParser.json())
app.use(function (req, res) {
res.setHeader('Content-Type', 'text/plain')
res.write('you posted:\n')
res.end(JSON.stringify(req.body, null, 2))
})
// your route configuration here
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.