#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.
Спасибо всем за быстрый ответ.