我有一个链接到HTML的Javascript文件,并且该js文件在单击HTML中的Submit按钮时正在计算一个数组,我想在发布时将数据获取到节点js文件中而不在HTML页面中显示。我该怎么办?
答案 0 :(得分:0)
您的nodeJS程序正在服务器上运行,如果您使用的是localhost,则可能只是您的计算机,这意味着它未连接到HTML页面。因此,您需要通过提取请求从js文件发送数据。在您的nodeJS文件中,您需要一条路由来接收使用Express创建的数据。
const express = require("express");
const {json} = require("body-parser");
const app = express();
app.post("/submitData", (req, res) => {
const data = req.body;
console.log(data);
res.status(200).json({"Message": "Data posted", data});
})
app.listen(3000,() => {
console.log("Server running on port 3000");
})
现在,在您的javascript文件中,您需要获取请求。
fetch(http://localhost:3000/submitData, {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify(data)
}).then(response => {
return response.json();
}).then(data => {
console.log(data)
})
这应该可以解决问题。我还建议您下载Postman,它非常适合测试API和尝试http请求
答案 1 :(得分:0)
这样做之后,我忘了指出
const app = express();
您应该输入:
app.use(json());
我为这个错误表示歉意,它应该删除您在评论中提到的错误。