In case you control the server you may embed the data being lost in the redirect address itself. So xhr does a POST, and then does a GET with some of the POSTed data being encoded back (by the server) as GET params.
No other solutions come up for me...