从 angular2 服务发送正文中的值

Send value in body from angular2 service

我有一个 Angular2 服务

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

发送请求
router.get('/authenticate/:username/:password', function(req, res, next) {
schema.User.find({ username: req.param("username"), password: req.param("password")}).exec(function (err, users) {
    if (err)
      return console.error(err);
      console.log("Load success: ", users);
      res.send(users);
    });
});

但我需要一种发送 username 的方法,尤其是 password 的发送方式不会将其暴露给请求本身

您可以将方法更改为 post

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);
   });
});