可以在表单内不指定POST请求吗,因为表单的默认请求方法是POST

时间:2018-09-02 11:27:22

标签: php laravel

所有人,今天好,我是Laravel的初学者,并且您知道html表单默认发送POST请求,并且想问一下是否可以在form标记的开头省略POST,因为我想将POST请求发送给服务器代码:

{!! Form::open(['method' => 'ToDoController@store' **I am not specifying type of request**]) !!}
<div class="form-group">
    {{Form::label('text', 'Text', ['class' => 'awesome'])}}
    {{Form::text('text', '', ['class'=>'form-control' ,'style'=>'width:200px'])}}
</div>
<div class="form-group">
    {{Form::label('text', 'Text', ['class' => 'awesome'])}}
    {{Form::text('text', '', ['class'=>'form-control' ,'style'=>'width:200px'])}}
</div>
{{Form::submit('Submit')}}
{!! Form::close() !!}

1 个答案:

答案 0 :(得分:1)

如果默认值是您要执行的属性,则可以省略属性。但是,您应该注意以下几点。

  1. HTML表单默认发送“ GET”请求。

  2. Form Collective是Laravel Framework中使用的一个软件包,默认情况下将HTML表单的method属性设置为'POST'。

因此,即使您未设置method属性,您的表单仍发送“ POST”的原因是因为您使用的是Form Collective,否则您的表单将默认为“ GET”。

同时,从您粘贴的摘录中:

{!! Form::open(['method' => 'ToDoController@store' **I am not specifying type of request**]) !!}

将其更改为:

{!! Form::open(['action' => 'ToDoController@store']) !!}

method属性用于指定请求的类型……主要是'GET'或'POST',而action属性用于指定将处理请求的Controller操作。