Node.js 从angular2服务发送正文中的值

Node.js 从angular2服务发送正文中的值,node.js,angular,express,angular2-services,Node.js,Angular,Express,Angular2 Services,我有一个天使服务 logIn (username, password): Observable<User[]> { return this.http.get(this.getUserUrl + username + '/' + password) .map(this.extractData) .catch(this.handleError); } 但是我需要一种方法来发送用户名,尤其是密码,这种方法不会将其暴露给请求本身您可以更改发布方法 logIn (us

我有一个天使服务

logIn (username, password): Observable<User[]> {
  return this.http.get(this.getUserUrl + username + '/' + password)
     .map(this.extractData)
     .catch(this.handleError);
}

但是我需要一种方法来发送
用户名
,尤其是
密码
,这种方法不会将其暴露给请求本身

您可以更改发布方法

logIn (username, password): Observable<User[]> {
  return this.http.post(this.getUserUrl + "test", {username: username, password: password})
     .map(this.extractData)
     .catch(this.handleError);
}

那么您应该使用post而不是get。在服务中,端点或两者都是?当然两者都是。属性“post”在类型(url:string,options?:RequestOptions Args)=>Observable)上不存在。@Fripo我忘了更改get到post。检查更新的答案。太棒了!谢谢:)它不再在请求中,但是我仍然可以从“网络”选项卡的预览中看到它,但我猜我是在某个地方记录的?@Fripo如果您将它作为响应发送(我认为您使用
res.send(users)
),您将在预览中看到它。因此,您可以发送类似于
res.send(“SUCCESS”)
的内容。但即使如此,你仍然会在网络标签的标题中看到它。非常感谢:)我对安全性不太感兴趣,我只是认为它们可能会被人发现
logIn (username, password): Observable<User[]> {
  return this.http.post(this.getUserUrl + "test", {username: username, password: password})
     .map(this.extractData)
     .catch(this.handleError);
}
router.post('/authenticate/test', function(req, res, next) {
 var username = req.body.username;
 var password = req.body.password;
 schema.User.find({ username: username, password: password }).exec(function (err, users) {
    if (err)
      return console.error(err);
      console.log("Load success: ", users);
      res.send(users);
   });
});