Angular - всегда получать ошибки «[Object object]» по запросу (даже если запрос работает) - PullRequest
0 голосов
/ 27 апреля 2018

Я столкнулся со странной проблемой в моем угловом приложении:

Я создал компонент формы регистрации, который отправляет - используя сервисный метод - запрос HTTP post на сервер с регистрационными данными.
Если регистрация прошла успешно, возвращается строка, в противном случае возвращается неверный запрос.

ПРОБЛЕМА:

Теперь проблема в том, что даже если регистрация прошла нормально (моя таблица БД заполнена и пользователь создан), мой http-метод регистрации всегда проходит через раздел «error» метода http-запроса.

Ошибка просто говорит "[объект объекта]", и мой сервис возвращает строку "Учетная запись создана" в качестве ответа об успешном выполнении

Почему всегда выдает ошибку? Как я могу решить эту проблему?


Я поделюсь с вами своим кодом ниже:

КОМПОНЕНТ РЕГИСТРАЦИИ .ts - Метод регистрации

registerUser({ value, valid }: { value: UserRegistration, valid: boolean }) {
    this.submitted = true;
    this.isRequesting = true;
    this.errors='';
    if(valid)
    {
        this.userService.register(value.email,value.password,value.firstName,value.lastName,value.location)
                  .finally(() => this.isRequesting = false)
                  .subscribe(
            result => {
                console.log(result);
                if (result) {                      
                        this.router.navigate(['/login']);                         
                    }},
            errors => { console.error(errors); this.errors = errors });
    }      
 } 

СПОСОБ РЕГИСТРАЦИОННОЙ СЛУЖБЫ - http запрос

register(email: string, password: string, firstName: string, lastName: string, location: string): Observable<any> {
        let body = JSON.stringify({ email, password, firstName, lastName, location });
        let headers = new HttpHeaders().set('Content-Type', 'application/json')

        return this.http.post(this.baseUrl + "/Accounts/NewUser", body, { headers })
            .map(res => { return true })
            .catch(error => Observable.throw(error));  //ALWAYS PASSES THROUGH HERE
    }

МОЙ API

[HttpPost("NewUser")]
        public async Task<IActionResult> NewUser([FromBody]RegistrationViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            var userIdentity = _mapper.Map<AppUser>(model);

            var result = await _userManager.CreateAsync(userIdentity, model.Password);

            if (!result.Succeeded) return new BadRequestObjectResult(Errors.AddErrorsToModelState(result, ModelState));

            await _appDbContext.Customers.AddAsync(new Customer { IdentityId = userIdentity.Id, Location = model.Location });
            await _appDbContext.SaveChangesAsync();

            return new OkObjectResult("Account created");
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...