Получение моей ошибки swal fire для отображения в vue

Я использую vue и laravel, а также использую sweet alert 2 для своих сообщений об ошибках, и я пытаюсь отобразить сообщение об ошибке, если статус моего продукта не одобрен или пуст, но он не отображается и я ничего не получаю в своей консоли, но на вкладке сети появляется ошибка.

Вот мой код

<template>
    <div>
        <div class = "row justify-content-center my-5">
            <div class = "col-md-6">
                <div class = "form">
                    <div class = "card">
                        <div class = "card-body">
                            <div class = "row">
                                <div class = "col-md-5">
                                    <div class = "form-group">
                                        <label>Name</label>
                                        <input type = "text" class = "form-control" v-model = "product.name">
                                    </div>
                                </div>
                            </div>

                            <div class = "form-group">
                                <label for = "description">Description</label>
                                <textarea class = "form-control" id = "description" name = "description" v-model = "product.description">{{ product.description }}</textarea>
                            </div>
                        </div>

                        <div class = "card-footer">
                            <button type = "submit" class = "btn btn-success" @click = "updateProduct()">Update Product</button>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</template>

<script>
export default {
    props: ['product'],
    data() {
        return {

        }
    },
    methods: {
        updateProduct(){
            axios.put('/api/admin/products/'+this.product.id, {
                'name': this.product.name,
                'description': this.product.description
            }).then(response => {
                Swal.fire(
                    'Changes Saved',
                    'The product details have been updated',
                    'success'
                )
            }).catch(error => {
                console.info(error);
                Swal.fire(
                    'Oops!',
                    err.message,
                    'error'
                )
            })
        }
    },
    mounted(){
        
    }
}
</script>

Моя функция

public function updateProduct(Product $product)
{
    $outstanding = Product::where('status', 'pending')
        ->first();

    if (!empty($outstanding->status) && $outstanding->status != 'Approved')
    {
        return [
            'error' => "This product is not approved"
        ];
    }
}
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
0
0
1 412
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Добавьте к нему код состояния ошибки, используя функцию response(). Код состояния по умолчанию — 200, что означает успех в axios. Вам нужно сообщить axios, что это ошибка, и поймать ее. Таким образом, предоставление кода состояния ошибки сделает это за вас. подробнее

if (!empty($outstanding->status) && $outstanding->status != 'Approved')
    {
        return response([
            'error' => "This product is not approved"
        ], 400);
    }

Кроме того, у вас есть опечатка в коде axios. Изменить err на error

.catch(error => {
   console.info(error);
   Swal.fire(
      'Oops!',
      error.response.data.error,
      'error'
   )
})

Это работает, но я получаю это сообщение об ошибке Request failed with status code 400 вместо того, которое я хочу

Aurilie 21.12.2020 18:57

Где вы взяли эту ошибку? на вашей консоли?

SEYED BABAK ASHRAFI 21.12.2020 19:02

Request failed with status code 400 появляется во всплывающем окне с ласточкой. Сообщение об ошибке, которое я хочу, чтобы "This product is not approved" отображалось на вкладке моей сети

Aurilie 21.12.2020 19:04

Я не получаю никаких ошибок, и в моей консоли у меня есть undefined

Aurilie 21.12.2020 19:10

Хорошо. опустите этот трейлинг error и скажите мне, что вы получите, когда сделаете console.info(error.responseJSON)

SEYED BABAK ASHRAFI 21.12.2020 19:14

Давайте продолжим обсуждение в чате.

SEYED BABAK ASHRAFI 21.12.2020 19:16

Другие вопросы по теме