Also habe ich ein kleines Ajax-Skript erstellt, das Elemente aus meiner Datenbank entfernt und anzeigt, leider ändert sich die Ansicht nur nach einem Neuladen (Element wird entfernt).Ajax remove item nach reload
Ich könnte eine window.location.reload() in meiner Erfolgsfunktion machen, aber ich möchte nicht die ganze Seite neu laden.
Wie gehe ich damit um, damit ich nicht die ganze Seite neu laden muss und das Element in der Ansicht entfernt wird.
<script>
$(document).ready(function() {
$(".destroy-device").click(function(e) {
e.preventDefault();
var id = $(this).attr("data-id");
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content'),
}
});
$.ajax({
url: 'destroy/'+id,
type: 'post',
data: {_method: 'delete',
id: id},
success:function(data) {
console.log('success');
}
});
})
});
</script>
html:
<form method="post">
<input type="hidden" name="_method" value="delete">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<input type="hidden" name="id" value="{{ $deviceValue->id }}">
<button type="button" class="btn btn-danger destroy-device" data-id="{{ $deviceValue->id }}" name="destroy_device">
<span class="glyphicon glyphicon-trash"></span>
</button>
</form>
Wie ist Ihr DOM? Können Sie nicht einfach ein '$ (this) .remove();' in Ihrer Erfolgsfunktion versuchen? – Zenoo
Nicht sicher, was das Problem ist $ (this) .remove() 'oder' $ (this) .hide() 'oder' $ (this) .slideUp() 'scheint zu passen. –
@Zenoo Ich habe das versucht und es hat irgendwie nicht funktioniert, keine Fehler in der Konsole – Micheasl