Wie ruft man eine URL von Routen mit Ajax?Rufen Sie eine Lösch-URL von Routen mit Ajax?
Die Route:
Route::delete('dashboard/tags/destroy/{tag}', '[email protected]')->name('tagdestroy');
Controller:
public function destroy($id) {
$tag = Tag::findOrFail($id);
$tag->delete();
return response()->json($tag);
}
Ajax-Code:
$(document).on('click', '.delete-modal', function() {
$('.modal-title').text('Delete');
$('#id_delete').val($(this).data('id'));
$('#title_delete').val($(this).data('title'));
$('#deleteModal').modal('show');
id = $('#id_delete').val();
});
$('.modal-footer').on('click', '.delete', function() {
$.ajax({
type: 'DELETE',
url: 'dashboard/tags/destroy/' + id,
data: {
'_token': $('input[name=_token]').val(),
},
success: function (data) {
toastr.success('Successfully deleted Post!', 'Success Alert', {timeOut: 5000});
$('.item' + data['id']).remove();
$('.col1').each(function (index) {
$(this).html(index + 1);
});
}
});
});
Es tut nichts, vielleicht, weil es die richtige Route nicht anruft? Wenn ich jedoch diese url: 'dashboard/tags/destroy/' + id,
in diese url: '{{ URL::route('tagdestroy') }}' + id,
ändern, wird es einen Fehler Missing required parameters for [Route: tagdestroy] [URI: dashboard/tags/destroy/{tag}]
zurückgeben Wo ist der falsche Teil mit dem Code? Dank
GELÖST
Verstanden arbeitet sich nun geändert, die URL-Aufruf in der Ajax-Funktion url: 'tags/destroy/' + id,
statt url: 'dashboard/tags/destroy/' + id,
. Ich habe keine Ahnung, warum es funktioniert, die Löschmethode URL ist immer noch definiert als Route::delete('dashboard/tags/destroy/{tag}', '[email protected]')->name('tagdestroy');
, nicht Route::delete('tags/destroy/{tag}', '[email protected]')->name('tagdestroy');
.
ich den Parameter 'url hat beinhalten: '{{URL :: Route (' tagdestroy ')}} '+ id, '. ID ist der Parameter. Vielleicht habe ich den Parameter falsch eingegeben? –
Sie können es optional machen, dann können Sie es weitergeben, wie Sie erwähnt haben, aber Sie müssen Ihre Routen Dashboard/Tags/zerstören/{tag?} Durch diese –
aktualisieren Ich habe die Route geändert, wie Sie zu Dashboard/Tags gesagt/destroy/{tag?} 'aber trotzdem tut es nichts. Ich stecke fest :( –