从 Angular2 组件向 node.js 发送数据

Posted

技术标签:

【中文标题】从 Angular2 组件向 node.js 发送数据【英文标题】:Send data to node.js from Angular2 Component 【发布时间】:2017-07-31 16:26:19 【问题描述】:

所以我想向我的节点服务器发送一些string 值并在 mysql 表中找到该值。

我有一个从服务获取数据的组件

ngOnInit() 
    this.instructionsService.getAllInstructions().subscribe(instructions => 
      this.instructions = instructions;
    );

然后我有一个从node 服务器获取数据的服务

getAllInstructions() 
    return this.http.get('/api/profile/')
      .map(res => res.json());

最后我有了节点 api

app.get('/profile',getAllInstructions);
function getAllInstructions(req,res)
connection.query("select * from users where id='somekindofid'",function(err, rows, fields) 
        res.json(rows);
    

`

我想用我的组件发送的值替换那个 'somekindofid'

我该怎么做?

【问题讨论】:

【参考方案1】:

您应该将 id 传递给其 URL 本身内的节点方法。 同样,您应该将 API 路由更改为 /profile/:id,其中 id 是将从 API 的使用者传递的参数。

节点

app.get('/profile/:id',getAllInstructions);
function getAllInstructions(req,res)
   connection.query("select * from users where id="+ req.params.id,function(err, rows, fields) 
        res.json(rows);
    

服务

getAllInstructions(id) 
    return this.http.get(`/api/profile/$id`)
      .map(res => res.json());

组件

ngOnInit() 
    let userId = 'pankaj';
    this.instructionsService.getAllInstructions(userId).subscribe(instructions => 
      this.instructions = instructions;
    );

【讨论】:

以上是关于从 Angular2 组件向 node.js 发送数据的主要内容,如果未能解决你的问题,请参考以下文章

从 PHP 向 Node.js 发送消息

从 PHP 向 Node.js 发送请求

从 Swift 4 向 Node.js 发送 post 请求

如何从 Angular 6 向 node.js 发送 https 请求

工具Node.js邮件发送组件- Nodemailer 1.0发布

无法从 React 客户端向 Node.js websocket 服务器发送消息