Ich versuche, eine Zeile aus einer Tabelle mit Jquery Ajax zu löschen. Nach einigen Versuchen kann ich nicht herausfinden, warum mein Code (Teil löschen) nicht funktioniert, da ich neu mit Ajax und Javascript bin. Das Laden von Daten mit AJAX vom Server funktioniert einwandfrei und das Skript hat keinen Konsolenfehler. Wenn ich delete drücke, sehe ich nichts auf der Netzwerkkarte. Hier ist mein Code:Laravel einfache Crud mit Jquery Ajax
routes.php
Route::delete('users/{id}','[email protected]');
AjaxController.php
public function destroy($id)
{
$user = User::findOrFail($id);
$user->delete();
}
Ansicht:
<table id="users" class="table table-bordered">
<thead>
<tr>
<th>Name</th>
<th>Phone</th>
<th>Action</th>
</tr>
</thead>
<tbody id="abc">
</tbody>
</table>
Skript:
$(document).ready(function(){
var $tbody = $('#abc');
// getting data from server
$.ajax({
type : 'GET',
url : 'api/users',
success: function(users) {
$.each(users, function(i, user){
$tbody.append('<tr id="user_' + user.id + '"><td>'+user.name+'</td><td>'+user.phone+'</td><td><button type="button" class="btn btn-xs btn-danger" id="delete" value="'+user.id+'" name="button">Delete</button></td></tr>');
});
},
error: function(){
alert('error loading data');
}
});
// deleting data
$('#delete').on('click', function(e){
var user_id = $(this).val();
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content')
}
})
e.preventDefault();
var user = {
id : user_id
};
$.ajax({
type: 'DELETE',
url : '/user/'+user.id,
success : function(deleteUser)
{
$("#user_" + user_id).remove();
},
error : function()
{
alert('error deleting data');
}
});
}); // deleting block ends
});
});
http://itsolutionstuff.com/post/laravel-5-ajax-crud-with-pagination-example-and-demo-from-scratchexample.html –
Sind Sie sicher, Sie erhalten die richtige "$ id" in deiner 'destroy' Funktion. Versuchen Sie es zu drucken. –
Wenn ich delete drücke, sehe ich nichts auf Netzwerk-Registerkarte (Konsole). @ravishankar –