Angular 5中的422(不可处理实体)错误

时间:2018-07-24 08:21:01

标签: javascript angular api

在学习教程时,我在尝试将数据发布到api时遇到错误。

我得到的错误:

加载资源失败:服务器响应状态为422(无法处理的实体)

服务代码.js文件

import 'rxjs/add/operator/toPromise';
import {Injectable} from '@angular/core';
import { HttpClient, HttpHeaders } from '@angular/common/http';
import {Observable} from 'rxjs/Observable';
import {CONFIG} from './../config/config';
import { RequestOptions, Headers, } from '@angular/http';
import { headersToString } from '../../../node_modules/@types/selenium-webdriver/http';



@Injectable()

export class AuthService {
    private _options = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };
    constructor(private http: HttpClient) {}

     register(name: string, email: string, password: string) {
       const headers: Headers = new Headers({ 'Content-Type': 'application/json' });
        return this.http.post(`${CONFIG.API_URL}/register`, { name: name, email: email, password: password}, this._options)
                    .toPromise()
                    .then((response) => {
                            console.log(response);
                    });
    }
}

我找不到该问题的任何解决方案,因此将不胜感激。

1 个答案:

答案 0 :(得分:1)

似乎更多是服务器端问题,而不是客户端代码问题。

  

Acc to defination 422:服务器了解请求实体的内容类型(因此   415不支持的媒体类型状态代码不合适),并且   请求实体的语法正确(因此状态为400错误的请求)   代码不合适),但无法处理其中包含的内容   说明。

检查网络面板,以验证是否传递了格式正确的JSON并设置了正确的标头。

尝试通过检查异常并调试流程来在服务器端调试问题。

还显示要传递给服务器的JSON,以获取确切的问题并提及后端框架。