Ich versuche, eine DELETE-Anfrage auf einen Klick zu senden, aber ich bin nicht sicher, ob meine jQuery eingerichtet ist und trotz Routing, die für die Löschmethode ist, bekomme ich immer noch GET-Anfrage Fehler Cannot GET /app/delete/1
. Bin ich mit meiner jQuery auf dem richtigen Weg und wie verhindere ich diese GET-Anfrage?NodeJS - jQuery DELETE-Methode
Route:
appRoutes.route('app/delete/:testId')
.delete(function(req, res){
models.Test.destroy({
where: {
userId: req.user.user_id,
testId: req.params.testId
}
}).then(function(){
res.redirect('/app');
});
});
-Link:
<a href="/app/delete/{{test.testId}}" id="test-delete-link">Delete</a>
jQuery:
<script type="text/javascript">
$(document).ready(function() {
$('#test-delete-link').click(function(){
$.ajax({
type: 'DELETE',
url: '/app/delete/{{test.testId}}'
});
});
});
</script>
Hey @voidpigeon, danke für die Antwort. Ihre Antwort hat mit der DELET-Anfrage funktioniert, aber ich bin neugierig, warum meine Weiterleitung nie ausgelöst wird. Sollte ich die Ajax-Methode verwenden? – cphill
@cphill Sie sollten die Ajax-Methode verwenden. Der Grund, warum die Umleitung nicht funktioniert, ist, dass sie die Ajax-Anfrage umleitet, nicht die Seite, auf der sich der Browser befindet. Anstatt "redirect" auf dem Server aufzurufen, wird auf dem Client umgeleitet, nachdem eine Antwort vom Server empfangen wurde. – afuous