【问题标题】:Body Undefined in Node jsNode js中的主体未定义
【发布时间】:2019-08-12 09:13:26
【问题描述】:

我是新手,所以请理解我。我试图将数据从 HTML 页面(使用 Google Cloud Shell 制作)发送到 Node.js 页面(使用 Google Functions 制作),但是当我使用命令 console.log(req.body) 时,我总是在未定义的日志中看到。这是代码

HTML :  
<form action="link" method="post">
 ID : <input type="text" id="demo3" name="id"><br>
<br>
Nome : <input type="text" id="demo" name="fname"><br>
<br>
Cognome : <input type="text"  id="demo1" name="lname"><br>
<br>
Età : <input type="text"  id="demo2" name="eta"><br>
<br>
<input type="submit"  value="Submit"> 
</form>

块引用

Node.js :
exports.helloWorld = (req, res) => {
  console.log(req.body.lname);
  console.log(req.body);
};

块引用

更新但还是不行

exports.helloWorld = (req, res) => {
    var express = require('express')
  var bodyParser = require('body-parser');

var app = express();
app.use(bodyParser.urlencoded({ extended: true }))
    console.log(req.body.fname);
  console.log(req.headers['content-type']);
    res.send(req.headers);
}; 

【问题讨论】:

  • HTML 缺少表单。 JavaScript 缺少关于 req 是什么的任何指示(它是 Express 请求对象吗?它是 HTTP Server 请求对象吗?还有别的吗?)。没有可以解析包含的正文的代码。
  • 我会用表单更新代码。关于req,我想在控制台上看到我放在html页面上的数据
  • 我看到您希望在 Cloud Functions 中拥有一个将由表单 onSubmit 调用的函数。无需安装 express.js 也无需使用 body-parser 中间件,因为 Google Cloud Functions 可以处理这些复杂问题。例如,我的云函数是这样写的exports.printReq = (req, res) =&gt; { let message = req.body.test; res.status(200).send(message); };你能提供更多关于你如何调用云函数的信息吗?触发 Cloud Function 的函数的代码 sn-p 将非常有见地。

标签: html node.js google-cloud-functions google-cloud-shell


【解决方案1】:

这将适用于 express

const app = express();
app.use(bodyParser.urlencoded({
    extended: true
}));

更新:

var express = require('express');
var bodyParser = require('body-parser');

var app = express();
app.use(bodyParser.urlencoded({ extended: true }))

app.get('/', function (req, res) {
   console.log(req.body.fname);
   console.log(req.headers['content-type']);
   res.send(req.headers);
})

app.listen(3000)

【讨论】:

猜你喜欢
  • 2021-05-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-09
  • 2017-06-08
  • 1970-01-01
  • 2015-09-20
  • 2016-03-11
相关资源
最近更新 更多