О поведении при отображении ошибки в concole.log - PullRequest
0 голосов
/ 28 мая 2020

Внешний интерфейс построен с использованием Vue, а сервер API построен с использованием Laravel.

Если я окружу вызов API с помощью try and catch спереди и отобразлю ошибку в console.log, когда Ловлю, отображается только символьная строка, но не отображается содержимое объекта. Но когда я показываю error.response.data в console.log, отображается информация об ответе.

При выполнении console.log (error), почему я не могу увидеть информацию для объекта (error.response .data et c)?

Vue

try {
    var response = await axios.get('/user/1')

} catch(error) {
    console.log(error)
    console.log(error.response.data)
}

Laravel

public function showUser(Request $request, $user_id)
{
    $validator = \Validator::make($user_id, [
        'user_id'        => 'require',
    ]);

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

    return User::find($user_id');
}

1 Ответ

1 голос
/ 28 мая 2020

Вам не нужно использовать try catch при вызове ios ax. Вместо этого сделайте это:

axios.get('/user/1')
    .then(response => {
        console.log(response.data);
    })
    .catch(error => {
        console.log(error.response.data); // your failed validation errors will be here
    })
    .finally(() => {
        // this will run always.
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...