【问题标题】:Submitting POST form laravel error提交POST表单laravel错误
【发布时间】:2017-10-23 13:53:25
【问题描述】:

我正在使用 laravel 5.4 并试图提交一个表单,但它似乎不想工作。

所以我得到的错误是:

MethodNotAllowedHttpException in RouteCollection.php line 251:
in RouteCollection.php line 251
at RouteCollection->methodNotAllowed(array('POST')) in RouteCollection.php line 238
at RouteCollection->getRouteForMethods(object(Request), array('POST')) in RouteCollection.php line 176
at RouteCollection->match(object(Request)) in Router.php line 533
at Router->findRoute(object(Request)) in Router.php line 512

但是我的表单看起来像这样:

<form action="/cUsers/add/" method="post" id="formSubmit">
        {{csrf_field()}}
        <input id="nameInput" type="text" name="nameInput"
                placeholder="Enter your name"
                class="form-control"
                style="cursor: auto;">
    <input id="emailInput" type="text" name="emailInput"
            placeholder="Enter your email"
            class="form-control">
    <input type="submit">
</form>

我的路由文件夹如下所示:

Route::group(['domain' => '{company}.test.co.uk'], function () {
    Route::get('/companyVerify/{verifyCode}', 'CompanyController@verifyCompany');
    Route::get('/', 'CompanyController@dashboard');
    Route::get('/cUsers', 'CompanyController@users');
    Route::post('/cUsers/add/', 'CompanyController@addUserToCompany');
});
Route::group(['prefix' => 'admin'], function () {
    Route::group(['prefix' => 'companies'], function () {
        Route::get('/', 'AdminControls@companies');
        Route::get('/create', 'AdminControls@createCompanies');
        Route::post('/create/save', 'AdminControls@saveNewCompany');
    });
});

我的工匠路线:

+------------------------------+----------+-----------------------------------------+------------------+----------------------------------------------------------------------------+--------------+
| Domain                       | Method   | URI                                     | Name             | Action                                                                     | Middleware   |
+------------------------------+----------+-----------------------------------------+------------------+----------------------------------------------------------------------------+--------------+
|                              | GET|HEAD | /                                       |                  | Closure                                                                    | web          |
| {company}.simpleissues.co.uk | GET|HEAD | /                                       |                  | App\Http\Controllers\CompanyController@dashboard                           | web,auth     |
|                              | GET|HEAD | admin/companies                         |                  | App\Http\Controllers\AdminControls@companies                               | web,auth     |
|                              | GET|HEAD | admin/companies/create                  |                  | App\Http\Controllers\AdminControls@createCompanies                         | web,auth     |
|                              | POST     | admin/companies/create/save             |                  | App\Http\Controllers\AdminControls@saveNewCompany                          | web,auth     |
|                              | GET|HEAD | api/user                                |                  | Closure                                                                    | api,auth:api |
| {company}.simpleissues.co.uk | GET|HEAD | cUsers                                  |                  | App\Http\Controllers\CompanyController@users                               | web,auth     |
| {company}.simpleissues.co.uk | POST     | cUsers/add                              |                  | App\Http\Controllers\CompanyController@addUserToCompany                    | web,auth     |
| {company}.simpleissues.co.uk | GET|HEAD | companyVerify/{verifyCode}              |                  | App\Http\Controllers\CompanyController@verifyCompany                       | web,auth     |
|                              | GET|HEAD | home                                    |                  | App\Http\Controllers\HomeController@index                                  | web,auth     |
|                              | POST     | login                                   |                  | App\Http\Controllers\Auth\LoginController@login                            | web,guest    |
|                              | GET|HEAD | login                                   | login            | App\Http\Controllers\Auth\LoginController@showLoginForm                    | web,guest    |
|                              | POST     | logout                                  | logout           | App\Http\Controllers\Auth\LoginController@logout                           | web          |
|                              | POST     | oauth/authorize                         |                  | \Laravel\Passport\Http\Controllers\ApproveAuthorizationController@approve  | web,auth     |
|                              | GET|HEAD | oauth/authorize                         |                  | \Laravel\Passport\Http\Controllers\AuthorizationController@authorize       | web,auth     |
|                              | DELETE   | oauth/authorize                         |                  | \Laravel\Passport\Http\Controllers\DenyAuthorizationController@deny        | web,auth     |
|                              | POST     | oauth/clients                           |                  | \Laravel\Passport\Http\Controllers\ClientController@store                  | web,auth     |
|                              | GET|HEAD | oauth/clients                           |                  | \Laravel\Passport\Http\Controllers\ClientController@forUser                | web,auth     |
|                              | DELETE   | oauth/clients/{client_id}               |                  | \Laravel\Passport\Http\Controllers\ClientController@destroy                | web,auth     |
|                              | PUT      | oauth/clients/{client_id}               |                  | \Laravel\Passport\Http\Controllers\ClientController@update                 | web,auth     |
|                              | GET|HEAD | oauth/personal-access-tokens            |                  | \Laravel\Passport\Http\Controllers\PersonalAccessTokenController@forUser   | web,auth     |
|                              | POST     | oauth/personal-access-tokens            |                  | \Laravel\Passport\Http\Controllers\PersonalAccessTokenController@store     | web,auth     |
|                              | DELETE   | oauth/personal-access-tokens/{token_id} |                  | \Laravel\Passport\Http\Controllers\PersonalAccessTokenController@destroy   | web,auth     |
|                              | GET|HEAD | oauth/scopes                            |                  | \Laravel\Passport\Http\Controllers\ScopeController@all                     | web,auth     |
|                              | POST     | oauth/token                             |                  | \Laravel\Passport\Http\Controllers\AccessTokenController@issueToken        | throttle     |
|                              | POST     | oauth/token/refresh                     |                  | \Laravel\Passport\Http\Controllers\TransientTokenController@refresh        | web,auth     |
|                              | GET|HEAD | oauth/tokens                            |                  | \Laravel\Passport\Http\Controllers\AuthorizedAccessTokenController@forUser | web,auth     |
|                              | DELETE   | oauth/tokens/{token_id}                 |                  | \Laravel\Passport\Http\Controllers\AuthorizedAccessTokenController@destroy | web,auth     |
|                              | POST     | password/email                          | password.email   | App\Http\Controllers\Auth\ForgotPasswordController@sendResetLinkEmail      | web,guest    |
|                              | GET|HEAD | password/reset                          | password.request | App\Http\Controllers\Auth\ForgotPasswordController@showLinkRequestForm     | web,guest    |
|                              | POST     | password/reset                          |                  | App\Http\Controllers\Auth\ResetPasswordController@reset                    | web,guest    |
|                              | GET|HEAD | password/reset/{token}                  | password.reset   | App\Http\Controllers\Auth\ResetPasswordController@showResetForm            | web,guest    |
|                              | GET|HEAD | refreshACL                              |                  | Closure                                                                    | web          |
|                              | GET|HEAD | register                                | register         | App\Http\Controllers\Auth\RegisterController@showRegistrationForm          | web,guest    |
|                              | POST     | register                                |                  | App\Http\Controllers\Auth\RegisterController@register                      | web,guest    |
+------------------------------+----------+-----------------------------------------+------------------+----------------------------------------------------------------------------+--------------+

我不明白为什么帖子不起作用。我已将路线设置为 post 和 form 作为 post 以及使用 csrf_field()。有人可以向我解释为什么这不起作用。 谢谢

【问题讨论】:

  • 您是否尝试从表单中的操作中删除该斜杠?您可以在route:list 中看到它不存在。
  • 啊,我没有意识到这会破坏它,谢谢。
  • @Jeff 你能把它设为答案吗
  • 谢谢,很高兴它成功了!

标签: php forms laravel-5


【解决方案1】:

从表单操作中删除尾部斜杠。 Laravel 正在剥离它,可以在 route:list

中看到

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-09
    • 2014-04-15
    • 1970-01-01
    • 2015-08-26
    • 2023-04-10
    • 2013-02-17
    • 2021-03-30
    相关资源
    最近更新 更多