Laravel вернул ошибку, не показанную во внешнем интерфейсе

У меня есть что-то подобное в Laravel API для одного из маршрутов:

return response()->json(['message' =>  "Couldn't Price the car"], 500);

В передней части у меня есть

try {
 let data = await Axios.get("blax", {});    
} catch(err) {
  console.info(err.message);
}

err.message просто показывает сообщение по умолчанию:

request failed with status code 500

вместо показа:

Couldn't Price the car

Как показать свое собственное сообщение?

Вы проверили содержание ответа на вкладке сети вашего браузера?

Shizzen83 18.07.2019 12:21
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать 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-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
4
1
166
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Обновлено

responseJSON не определено, это просто response

попробуйте это console.info(err.response.message) следующим образом:

try{
 let data = await Axios.get("blax", {});

}catch(err){
  console.info(err.response.message);
}
Ответ принят как подходящий

попробуйте использовать err.response.message

try{
 let data = await Axios.get("blax", {});

}catch(err){
  console.info(err.response.message);
}

Мне кажется, ловит отлично:

new Vue({
  el: "#demo",
  data: {
    response: null,
  },
  async created() {
    try {
      let data = await axios.get("https://httpstat.us/500", {});
    } catch (err) {
      console.info('ss', err.message);
      this.response = err.message;
    }
  }

})
<script src = "https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<script src = "https://cdnjs.cloudflare.com/ajax/libs/axios/0.19.0/axios.min.js"></script>

<div id = "demo">
Error: {{response}}
</div>

Если вы хотите минимизировать свой код, вы можете сделать .catch прямо в вызове axios, например:

let data = axios.get("https://httpstat.us/500", {}).catch(e => e.message);

Этот улов также использует функцию стрелки, урезанную до минимума. Вот пример той же стрелочной функции, только «нормальной»:

let data = axios.get("https://httpstat.us/500", {}).catch((e) => {return e.message});

new Vue({
  el: "#demo",
  data: {
    response: null,
  },
  async created() {
    this.response = await axios.get("https://httpstat.us/500", {}).catch(e => e.message);
  }

})
<script src = "https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<script src = "https://cdnjs.cloudflare.com/ajax/libs/axios/0.19.0/axios.min.js"></script>

<div id = "demo">
Error: {{response}}
</div>

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

Добавить файлы в dist при создании библиотеки с помощью vue-cli
Используйте SVG в содержимом псевдоэлемента или фоновом изображении в файле шаблона Vue
VueJS устанавливает первую радиокнопку как проверенную, если v-модель пуста
Как создать методы, которые отображают мой объект JSON для установки свойств объекта данных в vue.js?
Как сделать страницу профиля редактируемой для пользователей, и я хочу сохранить эти данные после редактирования (vue.js + laravel)
Нужно ли использовать метод или вычисляемое свойство, если у меня есть целое число, равное секундам, и я хочу вычислить, сколько это минут?
Как использовать функцию vegaEmbed внутри цикла, передающего идентификаторы элементов, динамически сгенерированные с помощью v-for?
Как получить все детали, которые я отметил в таблице?
Приложения Vue js выдают ошибки (Id not Found)
CssSyntaxError Неизвестное построение слов с помощью Webpack 4