Загрузите представление Laravel, используя vue axios - PullRequest
3 голосов
/ 03 ноября 2019

Я пытаюсь создать ссылку на представление Laravel с именем faq.blade.php из моего компонента Vue, я пытался использовать axios и даже когда он возвращает console.log, который я оставил послеответ это не загружает представление. Как я могу решить это?

FaqController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class FAQController extends Controller
{
    public function index(){
        return view('main.faq');
    }
}

Я пытаюсь вызвать его из этого компонента: Main.vue (который находится в маршруте '/')

    <b-list-group-item align="left" @click="faq"><strong>></strong> FAQ</b-list-group-item>
    <b-list-group-item align="left" @click="services"><strong>></strong> Services</b-list-group-item>


<script>
export default {
    methods: {
        faq() {
        axios.get('/faq')

            .then(res => {
                console.log("faq");
            })
        },
        services(){
        axios.get('/services')

            .then(res => {
                console.log("services");
            })
        }
    }
}
</script>

Маршруты: web.php

Route::get('/', function () {
    return view('main.landing');
});

Auth::routes();

Route::get('/home', 'HomeController@index')->name('home');
Route::get('/faq', 'FAQController@index')->name('faq');
Route::get('/services', 'ServicesController@index')->name('services');

1 Ответ

2 голосов
/ 03 ноября 2019

Вызов Axios получит блок HTML в виде строки в ответе, вы не хотите этого делать, если вы хотите загрузить это представление в браузер, просто перенаправьте на этот маршрут

export default {
    methods: {
        faq() {
            window.location = "/faq";
        },
        services() {
            window.location = "/services";
        }
    }
};

Но если вы хотите, чтобы страница не перезагружалась / не обновлялась (именно поэтому я думаю, что вы используете axios), вы можете использовать TurboLinks или настроить SPA с VueRouter и загрузить представление в качестве компонента

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...