Laravel5.5 API 路由中关于 csrf_field 和伪造表单请求 method_field 的问题?
目前我在搭建一个博客后台的过程中,在后台的用户修改模块遇到了一个表单验证和伪造表单方法的问题。
先贴代码
<form role="form" class="form col-md-4 col-md-offset-4" action="/api/user/{{ $user->id }}">
{{ csrf_field() }}
{{ method_field('PATCH') }}
<div class="form-group text-center">
@if(!empty($user->avatar))
<img src="{{ $user->avatar }}" id="avatar" width="100" class="img-circle" alt="{{ $user->name }}">
@else
<img src="/images/default.png" id="avatar" width="100" class="img-circle" alt="{{ $user->name }}">
@endif
</div>
<div class="form-group">
<label for="name">用户名</label>
<input type="text" id="name" placeholder="用户名" value="{{ $user->name }}" class="form-control" disabled="disabled">
</div>
<div class="form-group">
<label for="email">邮箱</label>
<input type="email" id="email" placeholder="邮箱" value="{{ $user->email }}" class="form-control">
</div>
<div class="form-group">
<label for="nickname">昵称</label>
<input type="text" id="nickname" placeholder="昵称" value="{{ $user->nickname }}" class="form-control">
</div>
<div class="form-group">
<label for="website">网站地址</label>
<input type="text" id="website" placeholder="网站地址" value="{{ $user->website }}" class="form-control">
</div>
<div class="form-group">
<label for="description">描述</label>
<input type="text" id="description" placeholder="描述" value="{{ $user->description }}" class="form-control">
</div>
<div class="form-group">
<button type="submit" class="btn btn-success">修改</button>
</div>
</form>
资源路由 Route::resource('user', 'UserController')->except(['show', 'create']);
然后当我提交的时候,表单变成了GET方法提交,提交的URL变成了
http://tyu.com/api/user/1?_token=V7JlSVigwVwX3JziZf9bn2MrmrenzeunT7RDn6h9&_method=PATCH
再此,望各位大佬,遇到过这个情况以及了解如何解决这个问题的,帮帮忙。感激不尽!
form加上属性method="post"
@leo 最开始,我貌似是加上了,method=“post”属性的,但是似乎是一样的结果。回头我再试试,或许是我记错了,谢谢~
@leo 谢谢啊~ 加上method="post" 就好了!文档白看了,哎