出现 422 错误表示服务器无法处理请求,通常是由于请求的格式不正确或缺少必要的参数。在 Angular 中使用 HTTPparams 时会出现这种错误,为了解决这个问题,可以按照下面的步骤进行操作:
import { HttpClient, HttpParams } from '@angular/common/http';
constructor(private http: HttpClient) {}
submitForm(formData: any) {
const params = new HttpParams()
.set('name', formData.name)
.set('email', formData.email);
this.http.post('/api/submit-form', params).subscribe(
response => console.log(response),
error => console.error(error)
);
}
import { HttpClient, HttpHeaders } from '@angular/common/http';
constructor(private http: HttpClient) {}
submitForm(formData: any) {
const httpOptions = {
headers: new HttpHeaders({ 'Content-Type': 'application/json' })
};
const data = { name: formData.name, email: formData.email };
this.http.post('/api/submit-form', data, httpOptions).subscribe(
response => console.log(response),
error => console.error(error)
);
}
from fastapi import FastAPI, HTTPException
app = FastAPI()
@app.post('/submit-form')
def submit_form(name: str, email: str):
if not name or not email:
raise HTTPException(status_code=422, detail='Missing required data')
# Process form data...
以上解决方法可以帮助您在使用 Angular 中的 HTTPparams 时避免