服务器使用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:
body-parser
$.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,我刚没仔细看问题
CNode 社区为国内最专业的 Node.js 开源技术社区,致力于 Node.js 的技术研究。
params
感谢回答,可是还是没有数据,undefined,而且post的数据不是通过body接受吗?
@bourbon1991 一楼在误导楼主。post数据是放在body中得。而且params是获得get数据的。 需要一个中间件:
body-parserajax:your server :
感谢回答,我试试~
@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,我刚没仔细看问题