繁体   English   中英

Laravel 本地化包在 POST 请求时抛出 MethodNotAllowedHttpException

[英]Laravel localization package throws MethodNotAllowedHttpException on POST request

我使用这个包进行本地化https://github.com/mcamara/laravel-localization ,除了一个 POST 请求外,它在大多数情况下都可以正常工作。

当我尝试访问时:

Route::group(
    [
        'prefix'     => LaravelLocalization::setLocale(),
        'middleware' => ['localeSessionRedirect', 'localizationRedirect', 'auth'],
    ],
    function () {
    Route::post('bsSearch', 'BrandSpendingsController@search')->middleware('premium');
}

我得到一个MethodNotAllowedHttpException ......当我将它切换到GET它工作正常......但是它适用于英语。 如果我将 url 切换到http://localhost/de/bsSearch ,则会引发错误。

Route::get('bsSearch', 'BrandSpendingsController@search')->middleware('premium');

我真的不知道为什么,因为这个工作正常,而且它也是一种POST方法:

Route::post('editUserProfile/{id}', 'UserController@edit');

我使用 Laravel 5.3。

编辑

英文网址工作,因为我已经设置'hideDefaultLocaleInURL' => true,laravellocalization.php当它隐藏在URL中的“恩”前缀。 如果我将它设置为false ,它也会引发英语错误。

是一个答案

  1. 最好通过将 GET 路由放入本地化组来仅本地化 GET 路由,而不要在那里放置其他路由
  2. 如果您需要本地化其他方法,如 POST、PUT、PATCH、DELETE,则应按照此处所述本地化您的 url

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM