NodeJS 请求正文为空
NodeJS Request Body Empty
我将节点与 express@4.13.4 和 body-parser@1.13.3 一起使用。
我的玉页有例如这个属性:
input(type='text',class='form-control', placeholder="Username", name='username', id="username")
JavaScript 代码如下所示:
var bodyParser = require('body-parser');
var express = require('express')
, routes = require('./routes')
, user = require('./routes/user')
, http = require('http')
, path = require('path');
var app = express();
var favicon = require('favicon')
app.use(bodyParser.json());
app.set('port', process.env.PORT || 3000);
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use( function(req, res, next){
app.locals.pretty = true
next()
});
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
extended: true
}));
app.use(express.static(path.join(__dirname, 'public')));
app.get('/create', function(req,res) {
res.render("create");
});
app.get('/creation', function(req,res) {
console.log("creation")
console.log(req.body)
});
首先打开的是create页面,也有输入域username,但是/creation函数中request body是空的。谁能帮忙?
您需要使用 POST 方法 提交 表格并更改函数:
app.post('/creation', function(req,res) {
console.log("creation")
console.log(req.body); // here will show the values of inputs submited
});
据我们了解,正文解析将用于提交表单或 json 和 POST 请求。在这种情况下,请确保您正确提交了表单,您可以在 firebug 或其他工具中看到 POST 请求。正确完成后,您将能够通过 req.body.username
查看正文元素
你可以有像这样的简单形式。
<form action='post' ..>
<input name='username' ..>
<input type='submit' ..>
</form>
我也看过两次中间件app.use(bodyParser.json());使用。以防你错过了。
我将节点与 express@4.13.4 和 body-parser@1.13.3 一起使用。
我的玉页有例如这个属性:
input(type='text',class='form-control', placeholder="Username", name='username', id="username")
JavaScript 代码如下所示:
var bodyParser = require('body-parser');
var express = require('express')
, routes = require('./routes')
, user = require('./routes/user')
, http = require('http')
, path = require('path');
var app = express();
var favicon = require('favicon')
app.use(bodyParser.json());
app.set('port', process.env.PORT || 3000);
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use( function(req, res, next){
app.locals.pretty = true
next()
});
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
extended: true
}));
app.use(express.static(path.join(__dirname, 'public')));
app.get('/create', function(req,res) {
res.render("create");
});
app.get('/creation', function(req,res) {
console.log("creation")
console.log(req.body)
});
首先打开的是create页面,也有输入域username,但是/creation函数中request body是空的。谁能帮忙?
您需要使用 POST 方法 提交 表格并更改函数:
app.post('/creation', function(req,res) {
console.log("creation")
console.log(req.body); // here will show the values of inputs submited
});
据我们了解,正文解析将用于提交表单或 json 和 POST 请求。在这种情况下,请确保您正确提交了表单,您可以在 firebug 或其他工具中看到 POST 请求。正确完成后,您将能够通过 req.body.username
查看正文元素你可以有像这样的简单形式。
<form action='post' ..>
<input name='username' ..>
<input type='submit' ..>
</form>
我也看过两次中间件app.use(bodyParser.json());使用。以防你错过了。