通过ajax调用当前路由名

时间:2018-06-13 12:29:52

标签: ajax laravel routes

我想调用currentRouteName()。我想用这个方法来定位我的网站。我有简单的路由。例如

Route::get('/acrticle/{id}',[
        'uses' => 'arcticles@single',
        'as' => 'en.articles.single'
    ]);

Route::get('/artykul/{id}',[
        'uses' => 'arcticles@single',
        'as' => 'pl.articles.single'
    ]);

对于波兰版本。这个路由是nto组,带有'pl'或'en'前缀和一些中间件。 Myidea非常简单。当用户第一次访问我的网站时,我会在他查看语言并点击按钮时显示他的窗口。我发送检查语言的信息。控制器的方法将第一个垃圾改为“pl”或“en”。它看起来像这样

$currentRoute =  Route::currentRouteName();
   $localRoute = $lang . substr($currentRoute, 2);
   if($currentRoute == $localRoute){
       echo 'accept';
   } else {
       return redirect()->route($localRoute);
   }

问题是$ currendRoute有ajaxController方法而不是我。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

我有新想法来解决我的问题。我创建了中间件,在这个中间件中我创建了带有路由名称的cookie。它有效,但现在我遇到了一个新问题。 1.我有路线名称,但我需要重定向我的网站。在控制器的方法中,我可以使用redirect() - > route()但是在ajax中我不可能需要新的地址才能在jQuery中重定向网站。 2.我需要带ID的网站地址。