0
说来好笑,我的Laravel路由不与方法欺骗的工作...我有以下几点:方法欺骗在Laravel POST不工作 - > PUT
<form action="{{route('admin.page.update', $page->id)}}" method="POST" accept-charset="UTF-8">
{{ method_field('PUT') }}
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<input type="text" name="page[name]">
<input type="submit" value="submit">
</form>
这被渲染为:
<form action="http://ULTRA_HIDDEN_DOMAIN.dev/admin/page/9" method="POST" accept-charset="UTF-8">
<input type="hidden" name="_method" value="PUT">
<input type="hidden" name="_token" value="ULTRA_HIDDEN_KEY">
<input type="text" name="page[name]">
<input type="submit" value="submit">
</form>
但是当我点击提交按钮,我得到的Chrome网络上的以下答案:
Request URL:http://ULTRA_HIDDEN_DOMAIN.dev/admin/page/9 Request Method:POST Status Code:302 Found
当我做php artisan route:list
我得到它列出:使用Route::resource('page', 'PageController');
创建
+--------+-----------+------------------------------------+------------------------------------+-------------------------------------------------------------------+----------------+
| Domain | Method | URI | Name | Action | Middleware |
+--------+-----------+------------------------------------+------------------------------------+-------------------------------------------------------------------+----------------+
| | GET|HEAD | admin/page | admin.page.index | App\Http\Controllers\Admin\[email protected] | web,auth.admin |
| | POST | admin/page | admin.page.store | App\Http\Controllers\Admin\[email protected] | web,auth.admin |
| | GET|HEAD | admin/page/create | admin.page.create | App\Http\Controllers\Admin\[email protected] | web,auth.admin |
| | GET|HEAD | admin/page/{page} | admin.page.show | App\Http\Controllers\Admin\[email protected] | web,auth.admin |
| | PUT|PATCH | admin/page/{page} | admin.page.update | App\Http\Controllers\Admin\[email protected] | web,auth.admin |
| | DELETE | admin/page/{page} | admin.page.destroy | App\Http\Controllers\Admin\[email protected] | web,auth.admin |
| | GET|HEAD | admin/page/{page}/edit | admin.page.edit | App\Http\Controllers\Admin\[email protected] | web,auth.admin |
+--------+-----------+------------------------------------+------------------------------------+-------------------------------------------------------------------+----------------+
的路线。
任何想法为什么方法欺骗不起作用?
不幸的是,我检查了中间件,它的工作正常,我看着xdebug的问题也许是新的东西出现:)谢谢 – JohnnyAce
只是为了文档错误,问题是控制器上有另一个请求对象,例如'公共函数更新(Request $ request,$ id)''有'公共函数更新(MyOwnRequest $ request,$ id)''。这个新的请求是重定向的问题。 – JohnnyAce