从axios到Django Rest服务器的POST信号的错误处理
我使用React+Django,当用户从前端注册时,React中的axios向Django发送POST信号,如果表单无效,则显示下面的响应从axios到Django Rest服务器的POST信号的错误处理,django,reactjs,django-rest-framework,axios,Django,Reactjs,Django Rest Framework,Axios,我使用React+Django,当用户从前端注册时,React中的axios向Django发送POST信号,如果表单无效,则显示下面的响应 xhr.js:178 POST http://localhost:8000/account/users/ signup.js:120 Error: Request failed with status code 400 at createError (createError.js:16) at settle (settle.js:17)
xhr.js:178 POST http://localhost:8000/account/users/
signup.js:120 Error: Request failed with status code 400
at createError (createError.js:16)
at settle (settle.js:17)
at XMLHttpRequest.handleLoad (xhr.js:61)
若我在Django browsable API或Postman中使用无效字段发布相同的帖子,我会得到下面的错误,向用户显示错误是很有用的
{
"email": [
"This field may not be blank."
],
"username": [
"This field may not be blank."
]
}
如果用户在表单中和表单提交后键入无效的详细信息,如何从axios获得相同的错误消息
请注意,如果用户在表单中键入正确的信息,axios将提供足够的详细信息
轴心函数
axios.post('/account/users/',{data}).then(res=>console.log(res)).catch(err=>console.log(err)
很明显,这两种情况下的响应完全相同,一个状态为400(错误请求)的HTTP响应,以及您在postman中看到的身体。您的问题与Axios如何为您提供响应有关。如果您想在Axios收到错误响应时访问响应正文,则可以在
error.response.data
中找到它:
axios.post('/account/users/'{data})
.then(res=>console.log(res))
.catch(err=>console.log('Response body', err.response.data)
很明显,这两种情况下的响应完全相同,一个状态为400(错误请求)的HTTP响应,以及您在postman中看到的身体。您的问题与Axios如何为您提供响应有关。如果您想在Axios收到错误响应时访问响应正文,则可以在
error.response.data
中找到它:
axios.post('/account/users/'{data})
.then(res=>console.log(res))
.catch(err=>console.log('Response body', err.response.data)