簡體   English   中英

輸入值“undefined”Node.js

[英]Input value “undefined” Node.js

我在使用nodejs和express時遇到了一些麻煩,我實際上是想從視圖“inscription.ejs”中獲取輸入的值,但是當我質疑對象“req”時,他返回空值。

項目結構:

  • 應用
    - 控制器
    ------- home.js
    ------- user.js
    ------- book.js
    - 模特
    ------- modele.js
    - 意見
    -------一些觀點ejs
  • 配置
    - routes.js
  • 上市

  • server.js

  • 的package.json
  • 節點模塊

在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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM