提问人:NathaThink 提问时间:11/16/2023 最后编辑:Brian Tompsett - 汤莱恩NathaThink 更新时间:11/16/2023 访问量:48
使用 Nodejs [duplicate] 触发 JavaScript 函数
Trigger a JavaScript function with Nodejs [duplicate]
问:
我想使用 Nodejs 触发客户端函数 JavaScript 我正在尝试从 Nodejs 获得响应以在我的网站上显示数据
程序会向我的 Nodejs Api 示例 (htpp://localhost:3000/apiResponse) 发送一个包含一些数据的 API 我想将 API 数据发送到我的前端
我该怎么做,或者有没有另一种方法可以在 API 发送给我时触发函数值?
答:
0赞
Wil Moore III
11/16/2023
#1
您可以使用浏览器原生函数来调用您的 API:fetch
fetch('http://localhost:3000/apiResponse')
.then(response => response.json())
.then(json => console.log(json))
或
const main = async () => {
const json = await (await fetch('http://localhost:3000/apiResponse')).json();
console.log(json);
};
main();
0赞
GoodJuJu
11/16/2023
#2
这就是我的处理方式。
- 在前端创建一个函数,用于向本地节点服务器发出请求。该函数是异步的,因为我们不确定服务器需要多长时间才能响应。例如,您可以在按钮单击中调用该函数。
const handleGetResponse = async () => {
let data = {};
try {
const response = await fetch("htpp://localhost:3000/apiResponse").then(res => res.json())
data = response;
console.log("%cdata:", data);
} catch(error) {
console.log(error);
}
}
- 在节点文件中创建一个函数来处理响应
const nodeHandleResponse = () => { // handle response };
- 在同一节点文件中,创建接收前端请求的路径,并调用处理响应的节点函数。然后,将响应发送到前端。
app.get("/apiResponse", async (req, res) => {
nodeHandleResponse().then(response => res.send(response))
});
请注意,来自前端的请求 url 与节点路径 -> “apiResponse” 相同。GET
上一个:Java 函数调用和声明
评论
websocket