我一直得到一个404错误,即使我的路线应该是正确的。我已经刷新了缓存/路由,并确保epHash和fileHash是正确的。它正在进入PHP函数,因为我让它在声明$file之前创建一个文本文件。
PHP
public function deleteFile($epHash, $fileHash) {
$user = Auth::user();
if (!Auth::check() || !$user->is_admin) {
abort(500);
}
$file = File::findOrFail($fileHash);
Storage::delete($file->path . $file->name);
$file->delete();
return response()->json([
'advisors' => Advisor::with([
"user.person.contactInfo",
"clients",
"clients.person.contactInfo",
"clients.spouse",
"clients.estatePlans",
"clients.estatePlans.files",
"user.person",
"clients.estatePlans.files.createdBy"
])->get(),
]);
}
路线
Route::delete('/api/estatePlan/{epHash}/{fileHash}/delete', [Controllers\ClientInfoController::class, 'deleteFile']);
JavaScript
deleteFile(epHash, fileHash) {
Swal.fire({
title: "Are you sure you want to delete this file?",
icon: "warning",
showCancelButton: true,
confirmButtonText: "Yes",
cancelButtonText: "No",
}).then((result) => {
if (result.isConfirmed) {
axios
.delete(`/api/estatePlan/${epHash}/${fileHash}/delete`)
.then((response) => {
console.log("DELETED FILE SUCCESSFULLY");
})
.catch((error) => {
console.log(error.response);
});
}
});
},
我期待着有电话通过,我已经检查了我的laravel日志,也没有什么。
1条答案
按热度按时间avwztpqn1#
如果你使用Laravel作为API,你应该在API中定义你的路由。php文件包含在routes文件夹中,而不需要将/API添加到定义的路由中(它是自动添加的),所以它会像:
清除缓存并通过执行php artisan route:list命令检查路由是否显示在路由列表中。
调用路由时,请确保在URL中还包含Laravel所在的域。然后,您可以使用以下URL从javascript调用路由(考虑Laravel托管在localhost:8000上的本地环境):
不要忘记使用php artisan serve启动您的服务器。