Larave Vue post запрос возвращает 500 внутренней ошибки сервера

#javascript #php #laravel #api #vue.js

#javascript #php #laravel #API #vue.js

Вопрос:

Я только начинаю работать с laravel и ничего не знаю о vuejs. у меня есть очень простой код, который пытается отправить на сервер запрос, и сервер должен вернуть предупреждение с именем пользователя на нем. вот мой код.

blade.php

 <button user-id="{{ $user->id }}"></button>
  

компенсация vue

 <template>
 <div>
   <a href="#" class="btn btn-primary" onclick="action">Follow</a>
 </div>
</template>

<script>
  export default{
    props: [userId],
    mounted(){
      console.log('Component mounted.')
    },
    methods:{
      action(){
        axious.post('/follow/'   this.userId)
          .then( response => {
            alter( response.data )
          })
      } 
    }
  }
</script>

  

php код

маршрут

 Route::post('/follow/{user}', [ProfileController::class, 'store'];
  

Класс контроллера профиля

 public function store(User $user){
  return $user->username;
}
  

ошибка

 app.js:285 POST http://localhost:8000/follow/2 500 (Internal Server Error)
dispatchXhrRequest @ app.js:285
xhrAdapter @ app.js:119
dispatchRequest @ app.js:765
Promise.then (async)
request @ app.js:542
Axios.<computed> @ app.js:567
wrap @ app.js:1131
followUser @ app.js:1924
invokeWithErrorHandling @ app.js:39512
invoker @ app.js:39837
original._wrapper @ app.js:45196
app.js:699 Uncaught (in promise) Error: Request failed with status code 500
    at createError (app.js:699)
    at settle (app.js:960)
    at XMLHttpRequest.handleLoad (app.js:168)
  

Комментарии:

1. проверьте журналы ошибок, чтобы узнать, почему вы получаете 500

2. Ошибка 500 является общим сообщением об ошибке и охватывает практически все, что может пойти не так с PHP-скриптом. Проверьте журналы ошибок вашего сервера, чтобы узнать точное сообщение об ошибке. Для Laravel также загляните в storage/logs

3. в папке storage / logs есть только laravel. файл журнала с более чем 10000 строк комментариев

4. Это очень важные комментарии при устранении ошибок 500. Вы можете переименовать этот файл и повторить попытку, чтобы начать с чистого файла. Я бы также предложил изменить ведение журнала на ежедневное , чтобы файлы журналов не становились слишком большими.

5. Перейдите на вкладку сеть, а затем на вкладку XHR. Попробуйте найти файл и щелкнуть по нему.

Ответ №1:

В следующий раз, когда вы будете иметь дело с запросом api и столкнетесь с подобной ошибкой, просто переключитесь на сеть, нажмите «Инструменты разработчика» и отследите свой запрос, затем нажмите «Ответ», вы можете найти всю трассировку исключений.

Ответ №2:

Я только что обнаружил ошибку, из-за которой я не импортировал класс User в класс ProfileController.

Спасибо всем за быстрый ответ.