Ich versuche fetch
für einfache Post-Anforderung zu verwenden:res.render() und res.redirect() verhalten sich wie res.send()
const headers = new Headers({
Accept: 'application/json',
'Content-Type': 'application/json',
});
fetch('/checkout/billing', {
headers,
body,
credentials: 'include',
method: 'POST',
})
.catch(console.error);
und der Server-Seite Endpunkt wie folgt aussieht:
if (!validateResult) {
res.redirect('/checkout/shipping');
} else {
view.render('checkout/billing')
}
Also, wenn ich einreichen bin mit regelmäßigen HTML-Formular, es funktioniert (Umleitungen oder macht), aber wenn ich fetch
statt Umleitung bin mit oder Rendering-I erhalten HTML Körper als Antwort, wie wenn ich res.send(html)
verwenden würde, irgendeine Idee, was dieses Problem verursachen kann?
Wie lautet der Pfad "checkout/billing"? Wenn es HTML ist, dann ist das, was du bekommst, normal –
in 'view.render ('checkout/billing')' '? Es ist Pfad zu HTML-Vorlage, aber es sollte nicht zurückgegeben werden HTML als Antwort, sollte es diese Seite –
Rendern, was Sie _rendering eine Seite aufrufen_ tatsächlich sendet HTML an einen Client (Ihr Browser), so dass es rendern kann. Also ja, es sollte HTML zurückgeben. Ich werde versuchen, in einer Antwort zu klären :) –