如何获取js文件数组到节点js服务器?

时间:2020-07-13 07:21:01

标签: javascript html node.js

我有一个链接到HTML的Javascript文件,并且该js文件在单击HTML中的Submit按钮时正在计算一个数组,我想在发布时将数据获取到节点js文件中而不在HTML页面中显示。我该怎么办?

2 个答案:

答案 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());

我为这个错误表示歉意,它应该删除您在评论中提到的错误。