如何将请求从 React js 发送到 Node js 来处理一些东西?
How to send requests from React js to Node js to process something?
我很抱歉我在标题中提出了这个问题,但我最近才开始编程,所以再次,我真的很抱歉。
我正在开发一个以 React js 作为我的 front-end 和 node js 作为我的后端的项目,我已经成功地进行了一些基本测试 api 调用以确认两者之间的连接但是现在,我应该如何实际处理不同的动作。例如,当用户登录时,我需要先检查他们是否是现有用户,如果不是则登录,删除用户帐户,更改用户名等。
我非常努力地寻找相关文章,但我只能找到基本的“one-time”api 调用,我应该为整个批次做什么of operations?据我了解,从React发送请求到Node js处理的过程是这样的:
react js ======>
(request for operation) node js ======>
(process the operation) ======>
send a response back to react
如果我的问题有任何错误,请指正...
非常感谢!
这个问题真的很宽泛,所以我将重点关注这一部分:
I tried very hard to look for relevant articles but all I can find are basic "one-time" api calls, what am I supposed to do for an entire batch of operations?
我猜当您谈论请求和 API 时,您是在谈论 HTTP 请求和 REST API,它们基本上是“无状态”的东西; HTTP 请求是独立的,后端 不必 跟踪请求之间的任何应用程序状态即可使用 HTTP。
但是后端应用程序通常会维护状态,通常以数据库的形式。例如,许多 REST API 公开了重要业务实体的 CRUD(创建、读取、更新和删除)操作——事实上,Stack Overflow 可能正是这样做的。当我 post 这个答案时,我的浏览器可能会发送某种“创建”请求,而当我不可避免地注意到并修复拼写错误时,我会发送某种“更新”请求。当您在浏览器中加载它时,您将发送一个“读取”请求,该请求将从 Stack Overflow 的数据库中获取答案文本。 Stack Overflow 的后端在请求之间跟踪我的回答,这使得它可以作为许多不同请求的一部分发送给许多用户。
如果您的项目执行涉及多个相互依赖的请求的事情,您的前端将不得不做类似的事情——例如,您需要跟踪用户是否通过身份验证以便向他们显示登录屏幕,并且您需要持有他们的身份验证令牌才能与后续请求一起发送。
编辑:让我们看一个具体的例子。作为用户,我希望能够创建和阅读笔记。每个笔记都应该有一个唯一的 ID 和一个文本字符串。在后端,我们将有一组 CRUD 端点:
var express = require(“express”);
var router = express.Router();
class Note {
constructor(id, text) {
this.id = id;
this.text = text;
}
}
// This is a quick and dirty database!
notes = {};
router.put("/note/:id", function(req, res) {
notes[req.params.id] = "hello"; // TODO: accept text as well
res.send("");
});
router.get(“/note/:id”, function(req, res) {
res.send(notes[req.params.id].text);
});
module.exports = router;
然后在客户端,可以创建一个笔记,然后像这样阅读它:
// this request will create the note
fetch("http://localhost:9000/note/42", { method: 'PUT', body: 'hello note!' });
// this request will read the note, but only after it is created!
fetch("http://localhost:9000/note/42")
.then(res => res.text())
.then(res => console.log(res));
我很抱歉我在标题中提出了这个问题,但我最近才开始编程,所以再次,我真的很抱歉。
我正在开发一个以 React js 作为我的 front-end 和 node js 作为我的后端的项目,我已经成功地进行了一些基本测试 api 调用以确认两者之间的连接但是现在,我应该如何实际处理不同的动作。例如,当用户登录时,我需要先检查他们是否是现有用户,如果不是则登录,删除用户帐户,更改用户名等。
我非常努力地寻找相关文章,但我只能找到基本的“one-time”api 调用,我应该为整个批次做什么of operations?据我了解,从React发送请求到Node js处理的过程是这样的:
react js ======>
(request for operation) node js ======>
(process the operation) ======>
send a response back to react
如果我的问题有任何错误,请指正... 非常感谢!
这个问题真的很宽泛,所以我将重点关注这一部分:
I tried very hard to look for relevant articles but all I can find are basic "one-time" api calls, what am I supposed to do for an entire batch of operations?
我猜当您谈论请求和 API 时,您是在谈论 HTTP 请求和 REST API,它们基本上是“无状态”的东西; HTTP 请求是独立的,后端 不必 跟踪请求之间的任何应用程序状态即可使用 HTTP。
但是后端应用程序通常会维护状态,通常以数据库的形式。例如,许多 REST API 公开了重要业务实体的 CRUD(创建、读取、更新和删除)操作——事实上,Stack Overflow 可能正是这样做的。当我 post 这个答案时,我的浏览器可能会发送某种“创建”请求,而当我不可避免地注意到并修复拼写错误时,我会发送某种“更新”请求。当您在浏览器中加载它时,您将发送一个“读取”请求,该请求将从 Stack Overflow 的数据库中获取答案文本。 Stack Overflow 的后端在请求之间跟踪我的回答,这使得它可以作为许多不同请求的一部分发送给许多用户。
如果您的项目执行涉及多个相互依赖的请求的事情,您的前端将不得不做类似的事情——例如,您需要跟踪用户是否通过身份验证以便向他们显示登录屏幕,并且您需要持有他们的身份验证令牌才能与后续请求一起发送。
编辑:让我们看一个具体的例子。作为用户,我希望能够创建和阅读笔记。每个笔记都应该有一个唯一的 ID 和一个文本字符串。在后端,我们将有一组 CRUD 端点:
var express = require(“express”);
var router = express.Router();
class Note {
constructor(id, text) {
this.id = id;
this.text = text;
}
}
// This is a quick and dirty database!
notes = {};
router.put("/note/:id", function(req, res) {
notes[req.params.id] = "hello"; // TODO: accept text as well
res.send("");
});
router.get(“/note/:id”, function(req, res) {
res.send(notes[req.params.id].text);
});
module.exports = router;
然后在客户端,可以创建一个笔记,然后像这样阅读它:
// this request will create the note
fetch("http://localhost:9000/note/42", { method: 'PUT', body: 'hello note!' });
// this request will read the note, but only after it is created!
fetch("http://localhost:9000/note/42")
.then(res => res.text())
.then(res => console.log(res));