Dit is mijn AJAX call:
[code lang=js]
$("#delete-form").on("submit", function(e) {
e.preventDefault();
$.ajax({
url : "/admin/fotos/delete_fotos",
type: "post",
data: $(this).serialize(),
success: function(data){
window.alert("Foto's succesvol verwijderd");
}
});
});[/code]
De url /admin/fotos/delete_fotos verwijst naar de volgende method in mijn controller:
<?php
public function delete_fotosAction()
{
$thumb_path = APP_PATH.'/../images/fotos/thumbnails/';
$photo_path = APP_PATH.'/../images/fotos/fotos/';
foreach($_POST['delete_id'] as $key => $value)
{
if(file_exists($thumb_path . $key))
{
unlink($thumb_path . $key);
}
if(file_exists($photo_path . $key))
{
unlink($photo_path . $key);
}
$this->media->delete_fotos($_POST['delete_id']);
}
}
?>in mijn routes.php heb ik de volgende route gedeclareerd:
<?php
'/admin/fotos(/:action(/:id))' => [
'controller' => 'Controller_Admin_Media',
'action' => 'fotos',
],
?>Zodra ik meerdere foto's selecteer en op de verwijder button click krijg ik inderdaad het bericht Foto's succesvol verwijderd maar als ik de pagina ververs is er niets gebeurd. Als ik de netwerk tab in dev tools open en ik herhaal de boven genoemde stappen staat de delete_fotos method er gewoon tussen met de juiste delete_id's. Maar zoals gezegd de foto's worden niet verwijderd. Zie ik misschien iets over het hoofd?
Iedere hulp zou meer dan welkom zijn, alvast bedankt