我正在为Laravel使用背包管理面板。当我想通过点击删除按钮删除某个项目时,我收到一个未删除的错误 - 请参阅屏幕截图。
它看起来像使用CRUD::resource()
或Route::resource
方法时可能发生的403和405错误,但服务器(在我的情况下为apache)不允许它们在动态资源上 - 无论这意味着什么......
有没有办法在Apache上启用这些方法?
我得到了它的工作,但我想使用默认的HTTP方法。
快速解决
我能够通过复制和修改背包的list.blade.php
CRUD视图来解决这个问题。
vendor/backpack/crud/src/resources/views/list.blade.php
并将其移动到resources/views/vendor/backpack/crud/list.blade.php
if (confirm("{{ trans('backpack::crud.delete_confirm') }}") == true) {
$.ajax({
url: delete_url,
type: 'POST', // change from DELETE to POST
data: { // "spoof" the HTTP verb "DELETE"
"_method": "DELETE"
},
laravel / framework:5.8.2背包/ crud:3.6
vendor / backpack / crud / src / resources / views / buttons / delete.blade.php替换此代码:type: 'DELETE',
这条线:
type: 'POST',
data: {
"_method": "DELETE"
},
你应该在你的控制器中检查Access
$this->crud->allowAccess(['delete']);
我觉得你没有必要这么复杂。当你安装背包时,你应该跑步
php artisan vendor:publish --provider="Backpack\Base\BaseServiceProvider" #publishes configs, langs, views and AdminLTE files
它会自动将文件复制到正确的位置