首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nodes.js post参数

Nodes.js post参数
EN

Stack Overflow用户
提问于 2015-08-02 20:16:43
回答 1查看 52关注 0票数 0

1)为什么当我尝试从node.js中的post请求中获取参数时,会得到正确的值。

代码语言:javascript
复制
app.post('/users', function(req, res) {

  console.log(">>> " + req.param('name')); ' works but with warnings
  res.send("ok");


});

上面的示例输出了一个警告,这个"param“函数被弃用了,我应该使用params.name。使用params.name实际上是不起作用的,并且会导致“未定义”,body.name也是如此。

当我使用

代码语言:javascript
复制
router.post('/',function(req, res, next) {

  console.log("result > " + req.params.name); ' result is "undefined"
  res.send(req.body);
});

我已经包含了支持json的bodyparser。

我是不是漏掉了什么,或者我到底做错了什么?

2)此外,有没有一种方法可以在不命名参数的情况下获得所有参数?都用于get/post请求?

EN

回答 1

Stack Overflow用户

发布于 2015-08-02 22:13:08

经过一次又一次的尝试,我找到了它:

post请求可能不是多部分编码的-因此,如果设置了enctype=" multipart /form-data“,请删除它或将其更改为"application/x-www-form-urlencoded”。

在删除了enctype之后,我尝试使用

代码语言:javascript
复制
var result = req.body.name

它起作用了。

对于多部分编码的帖子,我想你必须使用"multer“!

编辑

我刚发现

代码语言:javascript
复制
req.params.name

仅用于urls部分,例如

http://host:port/application/name

文档清楚地表明,在express 4.x中,您必须使用“使用多部分处理的中间件,如busboy、multer、formidable、多方、连接多方或pez。”(http://expressjs.com/api.html#router.route)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31771816

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档