服务器使用req.body.XXX获取不到,而且显示req.body为undefined, 用res.json回送的数据客户端可以收到。 请问应该如何获取参数??? 感谢各位的回答与意见!
params
感谢回答,可是还是没有数据,undefined,而且post的数据不是通过body接受吗?
var express = require('express');
var bodyParser = require('body-parser');
var app = express();
// see https://github.com/expressjs/body-parser
// 添加 body-parser 中间件就可以了
app.use(bodyParser.urlencoded({extended: false}));
app.use(bodyParser.json());
app.post('/', function (req, res) {
console.log('req.body', req.body);
res.send({airead: 'fan'});
});
app.listen(8888);
// shell
//
// $ curl -d'fan=airead' localhost:8888
// {"airead":"fan"}%
@bourbon1991 一楼在误导楼主。post数据是放在body中得。而且params是获得get数据的。
需要一个中间件:body-parser
ajax:
$.ajax({
type: "POST",
url: "your url",
dataType:'json',
data: "email="+$('.email').val()+"&pwd="+$('.pwd').val(),
success:function(msg){...}
});
your server :
var email = req.body.email,
pwd = req.body.pwd;
//do something...
感谢回答,我试试~
@struCoder 恩恩,感谢回答,我试试哈~
app.use(logger(‘dev’)); app.use(bodyParser.json()); app.use(bodyParser.urlencoded());
var c={a:a,b:b,c:c……} $.post("/ajax/autoprint",c,function(data){ //somefunctions })
console.log(req.body)
@struCoder 感谢,解决了,还有个问题想请教,如果客户端提交的dataType为html,服务器如何接受?
感谢,解决了,还有个问题想请教,如果客户端提交的dataType为html,服务器如何接受?
感谢大家的回答,问题解决了,还有个问题想请教大家,如果客户端提交的dataType为html,服务器如何接受?
要写中间件。 EXPRESS默认的中间件只支持 JSON和urlencoded 我自己写了XML版中间件 但是HTML版。要你自己写了。或者你把HTML封在JSON里传。
@MiguelValentine 奥,这样,感谢~
@bourbon1991 不好意思,确实是body,我刚没仔细看问题