为什么在Laravel 9,惯性和Vue3中记录不删除和响应是303 ?



我在路由web.php文件中有以下代码。

Route::resource('dailyrevenue', DailyRevenueController::class)->middleware('auth');

然后在我的DailyRevenueController.php

public function destroy(DailyRevenue $revenue)
{
$revenue->delete();
return redirect()->back();
}

在我的vue3代码中:

const submit = function (id) {
const check = confirm("Are you sure to delete ?")
if (check) {
Inertia.delete(route('dailyrevenue.destroy',id), {
id: id,
method: 'delete',
forceFormData: true
})
}
}

最后在模板中:

<template #cell(actions)="{item: tax}">
<form method="delete" @submit.prevent="submit(tax.id)">
<input type="hidden" name="_method" value="delete"/>
<button type="submit">Delete</button>
</form>
</template>

现在请求到达方法。但是没有任何内容被删除。发送的请求是DELETE请求。它返回的不是302响应,而是303(参见其他)。

感谢社区帮助。谢谢。

我找到了解决方案。其背后的原因是变量名。在url端点中,变量名声明为dailyrevenue,在方法中声明为$revenue

你可以通过输入php artisan route:list找到你的url变量。

我发现url变量名必须与方法中的变量名匹配。

希望这对其他人也有帮助。

相关内容

  • 没有找到相关文章

最新更新