最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

如何拉状态响应代码从后端并在前端使用?

运维笔记admin8浏览0评论

如何拉状态响应代码从后端并在前端使用?

如何拉状态响应代码从后端并在前端使用?

我试图从在Node.js的我的前端后端这是角,以显示“电子邮件已存在”的错误消息发送状态响应代码。

// 前端

add.userponent.ts

 if (this.AddUserForm.valid) {
      this.AuthService.register(this.AddUserForm.value)
      .pipe(first())
      .subscribe(
        data => {
            this.router.navigate(['dashboard/user']);
          this.snackbar.open('User has been Added', 'Close', {
            duration: 3000,
          });
        },
        error => {
          this.loading = false;
          this.snackbar.open('Unsuccessful', 'Close', {
            duration: 3000,
          });
        },
      );
    } 

authentication.service.ts

register(user: User) {
    // const headers = new HttpHeaders({ 'Authorization': JSON.parse(localStorage.getItem('currentUser')).token });
    return this.http.post<any>(`${this.environment.userUrl}/auth/register`, user);
  }

//后端

authentication.js

exports.register = function (req, res, next) {

    var email = req.body.email;
    var password = generator.generate({
        length: 10,
        numbers:true,
        uppercase:true,
        symbols: true
    });


    if (!email) {
        return res.status(422).send({
            error: 'You must enter an email address'
        });
    }

    User.findOne({
        email: email
    }, function (err, existingUser) {

        if (err) {

            return next(err);
        }

        if (existingUser) {
            return res.status(422).send({
                error: 'That email address is already in use'
            });
        }

        var user = new User({
            email: email,
             password: password,

        });

        user.save(function (err, user, done) {

            if (err) {
                return next(err);
            }

            var userInfo = setUserInfo(user);

            res.status(201).json({
                message: 'Please Check you Email Address',
                 token: 'JWT ' + generateToken(userInfo),
                user: userInfo
            });

响应代码需要从后端发送到我的前端。在这里,在这种情况下,响应状态代码422需要被发送到我的前端

回答如下:

在响应对象,你可以添加statuCode值。

if (existingUser) {
            return res.status(422).send({
                error: 'That email address is already in use',
                statusCode: 422
            });
        }
发布评论

评论列表(0)

  1. 暂无评论