Переключите язык Laravel с Axios - PullRequest
       16

Переключите язык Laravel с Axios

0 голосов
/ 13 сентября 2018

Я хочу изменить свою локаль с помощью Axios Call:

changeLanguage(code) {
                return axios
                    .put(`/api/lang/` + code)
                    .then(response => {
                        console.log(response.data);
                    })
                    .catch(err => {
                        return "Error switching language";
                        console.log(err.response);
                    });
            },

Мой маршрут API:

Route::group(['middleware' => ['sessions']], function () {
    Route::put('lang/{language}', 'LanguageController@switchLang');
});

Промежуточное программное обеспечение моих сессий:

'sessions' => [
            \Illuminate\Session\Middleware\StartSession::class,
        ]

Мой LanguageController:

public function switchLang(Request $request, $lang)
{
        session(['applocale' => $lang]);
        app()->setLocale($lang);
} 

Мой IndexController:

public function index()
{
        \Debugbar::info("Index getLocale is: " . app()->getLocale());
        \Debugbar::info("Index Session locale is: " . session('applocale'));
}

Проблема в том, что LanguageController не может установить переменную сеанса, которая может быть прочитана из IndexController. Похоже, что они не используют одни и те же переменные сеанса. И каждый раз, когда я обновляю страницу, она показывает старый язык.

Как правильно изменить текущую локаль с помощью Axios?

...