删除行Laravel时出现405错误,惯性+Vue.js
405 error when deleting row Laravel, Inertia+Vue.js
我正在使用 Laravel 和 Inertia+Vue.js。
我正在尝试删除一行,但出现 405 错误方法不允许。
这是我在 Layout.vue 中的代码:
<a @click="destroy(website)">delete</a>
import AppLayout from '@/Layouts/AppLayout.vue';
import {Link} from "@inertiajs/inertia-vue3";
import {Inertia} from "@inertiajs/inertia";
export default {
components: {
Link, AppLayout, Inertia
},
props: {
websites: Object
},
methods: {
destroy(website) {
if(confirm('are u sure?')) {
this.$inertia.delete(`/destroy/website/${website.id}`)
}
}
},
我控制器中的方法:
public function destroy(Website $website)
{
$website->delete();
return redirect()->route('dashboard');
}
我在 web.php 的路线:
Route::delete('/destroy/website/{id}', [WebsiteController::class, 'destroy']);
网络面板中显示的来自浏览器的请求是 DELETE https://website.fr/destroy/website/2(2 是我点击的网站的 ID)
任何帮助将不胜感激!
要实现这一点:
destroy(Website $website)
你的路线应该是:
Route::delete('/destroy/website/{website}', [WebsiteController::class, 'destroy']);
不是 /destroy/website/{id} 所以 Laravel 可以使用从前端传递的 id 注入模型
我建议的路线部分代码:
Route::delete('destroy-website/{website}', [WebsiteController::class, 'destroy']);
我正在使用 Laravel 和 Inertia+Vue.js。
我正在尝试删除一行,但出现 405 错误方法不允许。
这是我在 Layout.vue 中的代码:
<a @click="destroy(website)">delete</a>
import AppLayout from '@/Layouts/AppLayout.vue';
import {Link} from "@inertiajs/inertia-vue3";
import {Inertia} from "@inertiajs/inertia";
export default {
components: {
Link, AppLayout, Inertia
},
props: {
websites: Object
},
methods: {
destroy(website) {
if(confirm('are u sure?')) {
this.$inertia.delete(`/destroy/website/${website.id}`)
}
}
},
我控制器中的方法:
public function destroy(Website $website)
{
$website->delete();
return redirect()->route('dashboard');
}
我在 web.php 的路线:
Route::delete('/destroy/website/{id}', [WebsiteController::class, 'destroy']);
网络面板中显示的来自浏览器的请求是 DELETE https://website.fr/destroy/website/2(2 是我点击的网站的 ID)
任何帮助将不胜感激!
要实现这一点:
destroy(Website $website)
你的路线应该是:
Route::delete('/destroy/website/{website}', [WebsiteController::class, 'destroy']);
不是 /destroy/website/{id} 所以 Laravel 可以使用从前端传递的 id 注入模型
我建议的路线部分代码:
Route::delete('destroy-website/{website}', [WebsiteController::class, 'destroy']);