簡體   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