我想从其他应用程序接受对我的Angular应用程序的发布请求。
基本上,他们会将客户ID列表作为POST负载发送,我必须在我的角度应用程序和渲染GUI中对其进行处理。
我尝试在app.js中遵循以下app.post方法,但会引发错误“无法执行POST”
app.post('/customer', function (req, res) {
console.log(req.body);
});
这有点尴尬,因为Angular是JavaScript框架,并且不接受发布请求,因为发布请求只需要在服务器端而不是客户端进行处理。
但是在Node JS中是否可以接受诸如post post request并发送到angular应用程序并渲染UI的方法?可能是一个愚蠢的主意,因此至少需要一些主意或解决。
我有Node JS应用程序,主要用于通过socket.io获取实时数据。
答案 0 :(得分:0)
是的,您需要一个服务器端服务器来接收请求(GET或POST),例如express.js。 如果将相同的服务器用于Angular和Express,则对localhost:3000 / api / customer进行POST,然后express将使用JSON或其他内容进行响应。
Angular是客户端,因此POST来自客户端计算机。您无需担心需要响应哪个客户。
答案 1 :(得分:0)
嗯,Angular是前端框架。您不能接受来自angualar的POST请求。但是您可以通过使用任何服务器端服务(例如,nodejs或java)来实现此目的。 您可以使用nodejs来实现。 1.使用express或nodejs中的任何其他框架创建服务器端。 2.然后,您的客户端必须将其客户ID或其他数据发布到该服务器上。 3.使用数据库(如mongodb)存储数据。 4.然后,最后,您需要使用GET请求从服务器获取数据。 就这么简单。
就像您最后说的那样,您有一个具有socket.io的nodejs应用程序,这很好,您可以通过在客户端发布数据时侦听socket.io发出的事件来获取实时数据。然后,您可以在角度应用程序中显示这些数据。可以使用angular。中的socket.io-client来完成。 但是,请记住,每次启动应用程序时,都必须向服务器发送GET请求以再次从数据库中获取数据(如果要存储它们),因为angular只是一个前端框架。 希望这对您有所帮助。 如果您有任何问题,可以发表评论。我很乐意提供帮助!
答案 2 :(得分:0)
您需要使用 Angular 通用。这是官方指南Angular universal app
然后在文件 server.ts
您可以通过添加来接受盆栽请求。
server.post('/customer', (req, res) => {
console.log(req.body);
});
如果你想得到身体,你可以检查那些 answers。