Php Laravel路线未定义明确定义时出现错误

Php Laravel路线未定义明确定义时出现错误,php,laravel,laravel-5,Php,Laravel,Laravel 5,我试图用laravel处理一个基本表单,遇到一个问题,我的POST路由没有被检测到,导致刀片模板中出现路由未定义错误。我的目标是解决此错误并将表单发布到控制器,然后使用$request参数访问各个表单字段 这是错误:Route[been-a-customer]未定义。 我很感激任何关于如何解决这个问题的建议 表格 <form action="{{ route('become-a-customer') }}" method="post" class="col-md-8 offset-md-2

我试图用laravel处理一个基本表单,遇到一个问题,我的POST路由没有被检测到,导致刀片模板中出现路由未定义错误。我的目标是解决此错误并将表单发布到控制器,然后使用$request参数访问各个表单字段

这是错误:
Route[been-a-customer]未定义。

我很感激任何关于如何解决这个问题的建议

表格

<form action="{{ route('become-a-customer') }}" method="post" class="col-md-8 offset-md-2">
    <div class="form-row">
        <div class="form-group col-md-6">
            <label for="first_name">First Name</label>
            <input name="last_name" type="email" class="form-control" id="first_name" placeholder="First Name">
        </div>
        ...
    </div>
    <input type="hidden" name="_token " value="{{ Session::token() }}"/>
    <button type="submit" class="btn">SUBMIT</button>
</form>
成为一个敏锐的控制者。php

Route::post('/become-a-customer', 'BecomeACustomerFormController@postBecomeACustomer');
class BecomeACustomerFormController extends Controller
{
    public function postBecomeACustomer(Request $request)
    {
        $firstName = $request['first_name'];
        $lastName = $request['last_name'];
        ...
        ...
        return redirect()->back();
    }
}
Route::post(“/been-a-customer”,”BecomeACustomerFormController@postBecomeACustomer')->name('成为客户');

检查您的Apache或Nginx配置。有时,从https重定向到http将改变从POST到GET的方法

我建议为GET by the same Route设置一个临时端点,并在其中放置一个
dd()
语句来测试理论。

Route()
方法使用未定义的路由名称。您可以通过路由上的
name()
方法定义它,如下所示

Route::post('/become-a-customer', 'BecomeACustomerFormController@postBecomeACustomer')->name('become-a-customer');

有关详细信息,请参见您还可以定义如下,其中“as”键用于命名路线

Route::post('/become-a-customer',  ['uses' => 'BecomeACustomerFormController@postBecomeACustomer', 'as' => 'become-a-customer']);

在blade模板中,表单操作使用了命名路由,但路由文件(Web.php)中未指定该路由

像这样更改路由文件

Route::post('/become-a-customer', 'BecomeACustomerFormController@postBecomeACustomer')->name('become-a-customer');
action="{{ url('become-a-customer') }}"
或者,你必须像这样改变动作的形式

Route::post('/become-a-customer', 'BecomeACustomerFormController@postBecomeACustomer')->name('become-a-customer');
action="{{ url('become-a-customer') }}"
使用命名管线是Laravel项目的最佳实践