gpt4 book ai didi

javascript - 使用纯js将数据从node.js发送到前端

转载 作者:行者123 更新时间:2023-12-03 12:21:30 24 4
gpt4 key购买 nike

我正在尝试将带有数据的对象从 Node.js 服务器发送到 js 文件(用于在前端使用此数据)。

在文件 main.js 我正在操作 DOM。我提出以下要求:

let dataName = [];
let request = async ('http://localhost:3000/') => {
const response = await fetch(url);
const data = await response.json();
dataName = data.name;
}

let name = document.getElementById('name');
name.textContent = dataName;

然后在文件 server.js 我有一个对象:

data = [
{
"id": 1,
"name": "Jhon"
},
{
"id": 2,
"name": "Mike"
}
];

我想将它作为 json 字符串(或其他方式)发送到 main.js 作为对我请求的回应。

问题:我的数据显示在浏览器的窗口中。我怎么能得到它作为回应?

我试过

let express = require('express');
let app = express();
app.use(express.static(`main`));
app.get('/', function(req, res){
res.json(data); //also tried to do it through .send, but there data only on window in browser
});
app.listen(3000);

有人可以告诉我要在我的代码中更改什么或指出我谷歌的方向吗? (我不想使用模板引擎)。

请帮助我 :) 愿你平安。

最佳答案

我认为您正在尝试在同一 URL / 上提供前端和 JSON 数据。 .

您需要调整您的服务器代码如下:

let express = require('express');
let app = express();
app.use(express.static(`main`));
app.get('/api', function(req, res){
res.json(data); //also tried to do it through .send, but there data only on window in browser
});
app.listen(3000);

现在您的数据将以 JSON 格式从 /api 获得.然后你可以在前端发出如下请求:

let dataName = [];
let request = async () => {
const response = await fetch('http://localhost:3000/api');
const data = await response.json();
dataName = data.name;
}

let name = document.getElementById('name');
name.textContent = dataName;
url 也存在问题没有被正确定义为论点。我调整了函数以在正确的位置简单地使用 URL 字符串。

关于javascript - 使用纯js将数据从node.js发送到前端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60789223/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com