Es gibt mehrere Möglichkeiten einen POST weiterzuleiten, teilweise wird dabei aus dem POST ein GET. Schau dir da genau an welche Status Codes du verwendest und was deren exakte Bedeutung ist. Um einen Überblick zu bekommen was Server und Client eigentlich machen, kann es vielleicht auch hilfreich sein sowas wie
mitmproxy zu verwenden.
Mit GET wird ein HTTP Server nach einem Dokument gefragt. Es wird *nicht* eine Seite verlassen auch nicht implizit. Der User könnte ja von einem anderen Tab aus auf deine Seite zugreifen oder seinem Handy weil er grad von seinem Desktop aufgestanden ist und mit dem Handy auf dem Klo weitersurft um später am Desktop an derselben Seite weiterzuarbeiten wo er aufgehört hat.
Wie BlackJack schon erwähnt hat es gibt einen Unterschied zwischen Client und Server. Du magst dir dem irgendwo bewusst sein aber verinnerlicht hast du dir dass noch nicht so ganz. Wenn du möchtest darauf zu reagieren dass eine Seite verlassen wird, kannst du dies per JS mit dem
beforeunload Event tun.
Was du vorhast ist aber so ohnehin nicht sinnvoll. Speichere die aktuellen Eingaben als Entwurf alle n Sekunden noch während der User die Seite nutzt. Auf die Weise verlierst du die Daten nicht nur beim schliessen der Seite nicht, sondern auch in anderen Szenarien wie Verlust der Internetverbindung, Absturz des Browser usw.