- помогите разобраться плз
есть компонент, который должен получить запись из базы по id.
Для этого добавлен метод:
getPerson(){
axios.get('api/people/' + parseInt(this.$route.params.id))
.then( res => {
console.log(res); })
В Vue.роутере указан путь
{path: '/people/:id/edit', component: () => import('./components/Person/Edit.vue'), name: 'person.edit'},
Который должен постучаться на контроллер через роутер laravel
Route::group(['namespace' => 'App\Http\Controllers\Person', 'prefix' => 'people'], function () {
Route::get('/{person}', App\Http\Controllers\Person\ShowController::class);
и там получить запись из таблицы
public function __invoke(Person $person){
return $person;}
Но получаю я html главной страницы! я не могу понять где, а главное, что я написал не так? Что я не понимаю?
Работаешь через дев сервер? Проверь, что настроено проксирование в бек. Если на проде, то что настроено тоже проксирование на /api
дев, vite другие роуты работают, тут встрял на том, что нужно id прокинуть
А запрос вообще получился корректный, там число есть в $route.params.id и URL запроса в итоге?
сам $route.params.id возвращает строку, на сколько сказано в документации, поэтому и сделал приведение к числу над ним. Как посмотреть полностью получившийся url?
глянул урл в data responseURL: "http://127.0.0.1:8000/people/11/api/people/11" получается, что он склеивает адрес с бека и адрес, который я пишу в компоненте?
отправляй запрос на /api/, а не api/
спасибо, всё заработало... эх, 2 дня мучений из-за невнимательности...
Обсуждают сегодня