Невозможно получить данные из серверной части [JWT Laravel React] ⇐ Php
-
Anonymous
Невозможно получить данные из серверной части [JWT Laravel React]
Я использую Reactjs, Laravel и JWT. Я пытаюсь войти в систему и получить данные из серверной части на панель управления после входа в систему, но появляется сообщение «Ошибка запроса с кодом состояния 500». Я пробовал использовать get вместо post, но не работает. Если я удалил материал «http.post» в Dashboard.js, это не выдаст ошибку, но мне это нужно, так как мне нужны данные пользователя.
Ларавель API.php
Route::post('login', [AuthController::class,'login']); Route::post('register', [AuthController::class,'register']); Route::group(['middleware'=>'api'],function(){ Route::post('выход', [AuthController::class,'выход']); Route::post('refresh', [AuthController::class,'refresh']); Route::post('me', [AuthController::class,'me']); }); Reactjs: Авторизация.js
экспортировать функцию по умолчанию AuthUser(){ const Navigation = useNavigate(); const getToken = () =>{ const tokenString = sessionStorage.getItem('токен'); const userToken = JSON.parse(tokenString); вернуть пользовательский токен; } const getUser = () =>{ const userString = sessionStorage.getItem('пользователь'); const user_detail = JSON.parse(userString); вернуть user_detail; } const [токен,setToken] = useState(getToken()); const [пользователь,setUser] = useState(getUser()); const saveToken = (пользователь,токен) =>{ sessionStorage.setItem('токен',JSON.stringify(токен)); sessionStorage.setItem('user',JSON.stringify(user)); setToken (токен); УстановитьПользователь (пользователь); навигация('/приборная панель'); } const выход = () => { sessionStorage.clear(); навигация('/логин'); } const http = axios.create({ baseURL:"http://localhost:8000/api", заголовки:{ «Тип контента»: «приложение/json», «Авторизация»: `Носитель ${токен}` } }); возвращаться { setToken: saveToken, токен, пользователь, получитьТокен, http, выйти } } Dashboard.js
import { useEffect, useState } из «реагировать»; импортировать AuthUser из './AuthUser'; экспортировать функцию по умолчанию Dashboard() { const {http} = AuthUser(); const [userdetail,setUserdetail] = useState(''); useEffect(()=>{ выборкаUserDetail(); },[]); const fetchUserDetail = () =>{ http.post('/me').then((res)=>{ setUserdetail (res.data); }); } функция renderElement(){ если (деталь пользователя) { вернуть Имя {userdetail.name}
Электронная почта
{userdetail.email
}еще{ return
Загрузка.....
} } возвращаться( Страница панели управления {рендерЭлемент() } ) }
Я пытаюсь следовать руководству https://github.com/AjayYadavAi/react-js ... on-laravel, но оно работает у него, а не у меня. Я сделал то же самое.
Я использую Reactjs, Laravel и JWT. Я пытаюсь войти в систему и получить данные из серверной части на панель управления после входа в систему, но появляется сообщение «Ошибка запроса с кодом состояния 500». Я пробовал использовать get вместо post, но не работает. Если я удалил материал «http.post» в Dashboard.js, это не выдаст ошибку, но мне это нужно, так как мне нужны данные пользователя.
Ларавель API.php
Route::post('login', [AuthController::class,'login']); Route::post('register', [AuthController::class,'register']); Route::group(['middleware'=>'api'],function(){ Route::post('выход', [AuthController::class,'выход']); Route::post('refresh', [AuthController::class,'refresh']); Route::post('me', [AuthController::class,'me']); }); Reactjs: Авторизация.js
экспортировать функцию по умолчанию AuthUser(){ const Navigation = useNavigate(); const getToken = () =>{ const tokenString = sessionStorage.getItem('токен'); const userToken = JSON.parse(tokenString); вернуть пользовательский токен; } const getUser = () =>{ const userString = sessionStorage.getItem('пользователь'); const user_detail = JSON.parse(userString); вернуть user_detail; } const [токен,setToken] = useState(getToken()); const [пользователь,setUser] = useState(getUser()); const saveToken = (пользователь,токен) =>{ sessionStorage.setItem('токен',JSON.stringify(токен)); sessionStorage.setItem('user',JSON.stringify(user)); setToken (токен); УстановитьПользователь (пользователь); навигация('/приборная панель'); } const выход = () => { sessionStorage.clear(); навигация('/логин'); } const http = axios.create({ baseURL:"http://localhost:8000/api", заголовки:{ «Тип контента»: «приложение/json», «Авторизация»: `Носитель ${токен}` } }); возвращаться { setToken: saveToken, токен, пользователь, получитьТокен, http, выйти } } Dashboard.js
import { useEffect, useState } из «реагировать»; импортировать AuthUser из './AuthUser'; экспортировать функцию по умолчанию Dashboard() { const {http} = AuthUser(); const [userdetail,setUserdetail] = useState(''); useEffect(()=>{ выборкаUserDetail(); },[]); const fetchUserDetail = () =>{ http.post('/me').then((res)=>{ setUserdetail (res.data); }); } функция renderElement(){ если (деталь пользователя) { вернуть Имя {userdetail.name}
Электронная почта
{userdetail.email
}еще{ return
Загрузка.....
} } возвращаться( Страница панели управления {рендерЭлемент() } ) }
Я пытаюсь следовать руководству https://github.com/AjayYadavAi/react-js ... on-laravel, но оно работает у него, а не у меня. Я сделал то же самое.