【发布时间】: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) => { let message = req.body.test; res.status(200).send(message); };你能提供更多关于你如何调用云函数的信息吗?触发 Cloud Function 的函数的代码 sn-p 将非常有见地。
标签: html node.js google-cloud-functions google-cloud-shell