Javascript 从HTTP POST请求中检索JSON
我有以下功能(基本上直接从对另一个SO问题的回答中得出): 当我使用正确的requestURL调用它时,我成功地到达了以下路径:Javascript 从HTTP POST请求中检索JSON,javascript,json,node.js,httprequest,Javascript,Json,Node.js,Httprequest,我有以下功能(基本上直接从对另一个SO问题的回答中得出): 当我使用正确的requestURL调用它时,我成功地到达了以下路径: router.post("/batchAddUsers", function(req, res) { console.log("Reached batchAddUsers"); }); 我一直在尝试检索我随请求发送的postData,但没有成功。req.params和req.body都是{}。我一点儿也不知道如何引用请求中传递的包含body的对象 我阅读了整个c
router.post("/batchAddUsers", function(req, res) {
console.log("Reached batchAddUsers");
});
我一直在尝试检索我随请求发送的postData,但没有成功。req.params
和req.body
都是{}
。我一点儿也不知道如何引用请求中传递的包含body的对象
我阅读了整个console.log(req)
,没有发现任何有用的东西。我以前做过这类事情,除了请求是通过表单发出的,而且req.body
工作起来很有魅力。现在我正在“手动”执行请求,它不再工作了。整个过程都在Node.js上运行
我做错了什么 我想你没有安装body解析器 要在
Express.js
Version4及更高版本中处理HTTP POST请求,您需要安装称为body parser的中间件模块
正文解析器提取传入请求流的整个正文部分,并在req.body上公开它
该中间件以前是Express.js
的一部分,但现在必须单独安装
这个主体解析器模块解析使用HTTPPOST请求提交的JSON、缓冲区、字符串和url编码数据。使用NPM安装主体解析器,如下所示
npm安装主体解析器--保存
什么是
postData
?您使用的是express js吗?您使用的是express.js吗?可能是重复的吗?@SangramBadi是的,我使用的是express.js@昆汀:好吧,我做了一件蠢事:postData
是一个数组,因为我需要它成为MongoDB数据库操作的数组。我不确定是否最好将其转换为JSON(以及如何转换),或者是否应该在请求中更改某些内容。
router.post("/batchAddUsers", function(req, res) {
console.log("Reached batchAddUsers");
});