Ich bin ein id
von einem jade view
seinen controller
(Backend) zu senden, die Steuerung fragt dann mongodb
und das Ergebnis wird zu einem neuen jade view
gesendet - angular
. Die Ergebnisse & Ansicht erscheinen, aber URL
bleibt gleich (vorherige Ansicht), also wenn ich F5
die aktuelle Ansicht, lädt es die vorherige Ansicht neu.
So ist die Route: view->node->angular
Ideen?Knoten res.render Ansicht ändert aber url nicht
Jade Starteinrichtungsansicht
form(method="post")
input(type="hidden" name="id" value=cart._id)
input(type='hidden', name='_csrf', value=_csrf)
button.btn.product.btn-primary(type='submit', id=cart._id class='')
Controller
exports.pushCart = (REQ, res) => {
if (passport.isAuthenticated) {
Order.findOne({ _id: req.body.id})
.select('-_id productOrder')
.exec(function (err, orderObj) {
if(!err) {
var productOrder = orderObj.productOrder;
res.render('store/cart', {
title: 'MyCart',
angularApp: 'storeApp',
products: productOrder
});
}
});
} else {
res.redirect('/login');
}
};
Sie müssen sich ändern 'res.redirect verwenden ('/ some/path')', wenn Sie wollen die URL, die geändert werden soll – idbehold
@idbehold, nicht in diesem Fall, 'res.render()' wird die Ansicht mit Daten an sie übergeben, 'res.redirect()' wird einen Benutzer auf eine andere Seite umleiten (an dem Punkt, wo die Anfrage von vorne beginnt) – Jadeye
Ja, das ist richtig. Sie können entweder eine Ansicht als Antwort auf die POST-Anfrage rendern (die URL im Browser bleibt gleich) oder Sie können umleiten, wodurch die URL im Browser geändert wird. Sie können beides nicht von der Serverseite aus tun. – idbehold