CRUD POST问题

问题描述 投票:0回答:1

我正在构建我的MEAN项目的前端。我的服务器端工作正常,所以如果我发送一个帖子请求到本地主机,使用firstName,lastName,电子邮件和密码,我得到一个成功的响应。 enter image description here

这是我在Angular中的功能:

  signUp(user) {
    let headers = new Headers();
    headers.append('Content-Type', 'application/json');
    return this._http
      .post('/signup', JSON.stringify({ user }), { headers })
      .map(res => res.json())
      .map((res) => {
        console.log(JSON.stringify({ user }));
        return res.success;
      });
  }

不幸的是,这只返回一个success: false参数。示例测试spat控制台注销为:

{ “用户”:{ “名字”: “fghnjmkcvbnm”, “姓氏”: “dfghjk”, “电子邮件”: “[email protected]”, “密码”: “fghjk12345456”}}

任何想法为什么这不起作用?

node.js angular mongodb rest
1个回答
1
投票

在屏幕截图中,您使用application/x-www-form-urlencoded作为内容类型。

我会这样重构你的代码:

signUp(user) {
  let headers = new Headers();
  headers.append('Content-Type', 'application/x-www-form-urlencoded');

  let user = new URLSearchParams();
  user.set('email', 'some email');
  user.set('password', 'some password');
  user.set('firstName', 'first name');
  user.set('lastName', 'last name');

  return this._http
    .post('/signup', user.toString(), { headers })
    .map(res => res.json())
    .map((res) => {
      console.log(JSON.stringify({ user }));
      return res.success;
    });
}
© www.soinside.com 2019 - 2024. All rights reserved.