HTTP DELETE verb in Node.JS
Brauche ich keine Konfiguration vor, die ich machen kann LÖSCHEN-Anforderungen an einen node.js Anwendung?
Kann ich machen GET
, POST
oder PUT
Anfragen, aber DELETE
Anfragen wird nicht funktionieren.
DELETE http://localhost:8081/api/1.0/entry
Erträge undefined
aus der routing-logger, ich bin mit der express registrieren die Strecken. Aber wie es aussieht kann ich auch nicht lösen, wird die url /verb.
Dies ist, wie ich bin Anrufung:
rows.find('a.remove').on('click', function(){
$.ajax({
url: '/api/1.0/entry',
type: 'DELETE'
}).done(function(res){
var row = $(this).parentsUntil('tbody');
row.slideUp();
});
});
Beispiel-Protokoll
GET / 200 18ms
GET /author/entry 200 10ms
GET /api/1.0/entry 200 2ms
GET /api/1.0/entry 200 1ms
GET /api/1.0/entry 200 1ms
undefined
- Keine Konfiguration erforderlich express... nur zu verwenden app.löschen('/api/1.0/entry', function (req, res){
- Ich dachte, es sein sollte, war
.del
? - Stimmt... Sie verwenden können .del zu. Immer verwendet haben .löschen.
- Welchen browser verwenden Sie?
- Chrom-Rand, warum? Ich sehe in der Konsole den Wunsch gefeuert zu werden, nur es kommt nicht auf den server
- Den jQuery docs behaupten, dass einige Browser nicht senden SETZEN/LÖSCHEN ajax-reqs richtig. Das sollte funktionieren, obwohl.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hoffentlich helfen können:
Aktivieren Sie die Protokollierung, wie Sie Ihre erste middleware, um sicherzustellen, dass die Anforderung wird kommen, in:
app.use(express.logger());
Verwenden Sie die methodOverride () - middleware:
app.use(express.bodyParser());
app.use(express.methodOverride()); //looks for DELETE verbs in hidden fields
Erstellen .del() route:
app.del('/api/1.0/entry', function(req, res, next) { ... });
undefined
als die route, die ist wirklich seltsamundefined
ist die route, dann ist das problem auf client-Seite, nicht auf server-Seite. Express wird nicht mitundefined
zu/api/1.0/entry
.undefined
bevor die routing-middleware, dieexpress.logger
finden Sie in den OP für eine Beispiel-Listeres.end()
express.bodyParser
undexpress.methodOverride
(nicht viel geändert, Sie müssen nur diese installieren von npm jetzt), möchten Sie vielleicht zu aktualisieren, die Antwort.PUT-und DELETE-Werte für Typ Einstellung werden nicht von allen Browsern unterstützt:
Siehe Dokumentation http://api.jquery.com/jQuery.ajax/
Können Sie POST-Typ, einschließlich Daten:{_method:'löschen'} in ajax-request: