javascript - Node.js:如何在 POST 中传递参数?

标签 javascript node.js express

我有一个 express 应用程序和一个 POST 路由:

app.post('/test', function(req, res){

 //res.send(req.body.title + req.body.body)
 console.log(req.params);
 console.log(req.body);
 console.log(req.body.user);
 console.log(req.body.feedback);
 console.log("ok");
 //return;
});

我尝试做 ~ $ curl -X POST "http://xxxx.herokuapp.com/test?user=hello" 我得到:

TypeError: Cannot read property 'user' of undefined
    at Router.<anonymous> (/app/app.js:40:22)
    at done (/app/node_modules/express/lib/router/index.js:250:22)
    at middleware (/app/node_modules/express/lib/router/index.js:244:9)
    at param (/app/node_modules/express/lib/router/index.js:227:11)
    at pass (/app/node_modules/express/lib/router/index.js:232:6)
    at Router._dispatch (/app/node_modules/express/lib/router/index.js:255:4)
    at Object.handle (/app/node_modules/express/lib/router/index.js:45:10)
    at next (/app/node_modules/express/node_modules/connect/lib/http.js:198:15)
    at Object.methodOverride [as handle] (/app/node_modules/express/node_modules/connect/lib/middleware/methodOverride.js:35:5)
    at next (/app/node_modules/express/node_modules/connect/lib/http.js:198:15)~ $ 

那个 POST 不应该工作吗?

谢谢

最佳答案

不,您传递的参数不在帖子正文中,而是在查询字符串中。

根据 the docs , 要访问它,您必须执行以下操作:

req.query.user

关于javascript - Node.js:如何在 POST 中传递参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7053639/

相关文章:

javascript - 'value is a reference' 对 JavaScript 对象意味着什么

java - 从 Javascript 调用 Java 方法的选项

javascript - 无法使用对象读取 null 的属性 'data'

node.js - 尝试使用 jsreport 时出现 ECONNREFUSED

javascript - Node js中的JSON错误未定义为发布数据的前缀

node.js - Sequelize 错误 : Unhandled rejection TypeError: Cannot read property '_pseudo of undefined

javascript - 正则表达式在 JavaScript 中不起作用 : SCRIPT5018: Unexpected quantifier

node.js - 如何从一个方法调用另一种方法

node.js - Socket.emit 带来多个值

node.js - 使用带有环回 4 的 Express 提供静态文件夹图像