Axios 422错误处理:如何防止控制台消息?

时间:2020-08-27 15:04:32

标签: vue.js axios

我正在创建一个应用程序:Laravel作为后端,Vue作为前端。对于验证错误时的响应,我使用代码422(根据this article的建议)。

我的PHP代码(来自RegisterController):

if ($this->validator($request->all())->fails()) {
    return response()->json(['errors'=>$this->validator($request->all())->errors()], 422);
}

在我的Vue应用程序中,我正在使用Vuex。我的注册操作如下所示:

const actions = {
    ACTION_SIGN_UP: async (context, payload) => {
        Axios
            .post('/api/v1/register', payload)
            .then((response) => {
                console.log(response);
            })
            .catch((error) => {
                if (error.response) {
                    console.log(error.response.data);
                    console.log(error.response.status);
                    console.log(error.response.headers);
                } else if (error.request) {
                    console.log(error.request);
                } else {
                    console.log('Error', error.message);
                }
                console.log(error.config);
            });
    }
};

已处理该错误,但同时控制台中显示一条错误消息:

enter image description here

那么如何防止控制台消息?

1 个答案:

答案 0 :(得分:0)

此主题已经讨论了很长时间,请参阅3年前的this相关SO帖子,这是一个长期争论的话题。

要点是,这是开发人员不应该(并且不能在Chromium中)更改的预期功能。这些网络错误是从正在访问的后端资源中发回的,旨在将错误记录在开发控制台中。

这就是说,没有理由将它们隐藏起来,尝试打开开发控制台并检查一些最大的网站(Twitter,Facebook等),很可能会看到一些响应错误记录。

有一个好!