接受其他网站的POST请求到Angular Application

时间:2019-06-17 22:08:33

标签: node.js angular

我想从其他应用程序接受对我的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获取实时数据。

3 个答案:

答案 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