我正在做一个项目。我在哪里使用laravel作为后端,使用VueJS作为前端。我调用了一个要求laravel插入用户的API。我想检查后端验证是否成功完成。为此,我要发送数据库中已经存在的电子邮件。验证响应可以。但是我只想记录一条消息,而不是记录整个响应。消息以某种方式未记录,但响应已记录。我不知道是什么问题
API调用
回复
我要记录消息,而不是整个响应
答案 0 :(得分:0)
因此422是错误,您必须在.catch
块中处理它
.then() // everything went good
.catch() // something went wrong
类似这样的东西
.then(response => {
// great
})
.catch(error => {
if (error.response.status === 422) {
// do something here
}
}
答案 1 :(得分:0)
链接```.catch(error => {console.log(“ Errors,error”)});根据您的ajax请求。
我曾经写过这个小助手。它可以处理Laravel以及从后端返回的自定义消息。这不是完美的方法,但可以使您的工作方向良好。
export function errorMessage(error) {
let errorResponse = error.response.data.errors ? error.response.data.errors : error.response.data;
let errors = [];
for (let key in errorResponse){
if(key === 'message'){
errors.push(errorResponse[key]);
}
else if (key !== 'exception' && key !== 'file' && key !== 'line' && key !== 'trace'){
for (let i = 0; i < errorResponse[key].length; i++){
errors.push(errorResponse[key][i]);
}
}
}
return errors;
}
您可以在let errors = errorMessage(error))
之类的catch块中使用它。我在通知插件中填入了显示在屏幕顶部的消息。