node.js mit Ausdrücken, wie Sie die Abfrage-string aus dem url -
Habe ich eine Schaltfläche, die bei der Durchführung eines bekommen zu meiner Seite hinzufügen und einen filter auf den query-string. Mein code gilt, dass der filter auf das Gitter...aber die Benutzer können Bearbeiten/löschen, die filter. Da können Sie sehen, welche filter angewendet wurde, in der Startaufstellung, ich möchte, um die zu entfernen ?filter=bla aus dem query-string, wenn die Seite angezeigt wird. (Könnte es verwirrend sein, wenn auf der Seite und die URL sagt ?filter=columnA was ist richtig am Anfang, aber der Benutzer entfernt den filter und wendet eine neue columnB....aber der query-string immer noch sagt ?filter-columnA. Das raster kann ein-Griff-Wechsel-Filter, ohne die Notwendigkeit eines post zurück.) Wie kann ich das tun? Und wenn Sie sich nicht entfernen/aktualisieren eines query-string, ist es möglich zu analysieren und dann einfach umleiten auf die Startseite, ohne den query-string? Sobald ich die filter gespeichert var filter, ich muss nicht mehr in der Abfrage-string.
hier ist der code, der zeigt die Seite
exports.show = function(req, res) {
var filter = req.query.filter;
if (filter === null || filter === "") {
filter = "n/a";
}
res.render("somepage.jade", {
locals: {
title: "somepage",
filter: filter
}
});
};
InformationsquelleAutor der Frage dan27 | 2013-01-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden
url.parse()
um die Komponenten Ihrer Adresse, diereq.url
. Die url ohne query-string wird gespeichert, in derpathname
Eigenschaft.Verwenden express
redirect
senden Sie die neue Adresse der Seite.Knoten docs für
url
.InformationsquelleAutor der Antwort Constantine Turtsevich
Nicht mit einem Modul für etwas ähnliches:
InformationsquelleAutor der Antwort Tim
Express 4.x+ beantworten:
res.redirect(req.path)
InformationsquelleAutor der Antwort AjaxLeung
Die vollständige url ist gespeichert in
req.url
in Ihrem Fall, verwenden Sie node.js's url.parse() herausziehen der Teile. Nehmen Sie den Weg und senden einen Location-header mitres.set()
umleiten zu URL ohne query-string.InformationsquelleAutor der Antwort SamT
InformationsquelleAutor der Antwort Alexander Gonchiy
Um zu vermeiden, laden Sie die Seite neu, indem Sie erzwingen eine Umleitung, ich habe Folgendes in der
<head>
Abschnitt meines .ejs Datei:Quelle: http://atodorov.org/blog/2013/01/28/remove-query-string-with-javascript-and-html5/
InformationsquelleAutor der Antwort Incinerator