我有一个使用AngularJS开发的预订应用程序,它正在构建通过各种页面预订的用户的详细信息。这些细节使用SessionStorage存储(我想避免使用LocalStorage)。
当用户进入付款页面时,我使用REST调用生成PayPal令牌,然后将其重定向到PayPal。
我用于此重定向的代码是:
window.location.replace("https://www.sandbox.paypal.com/checkoutnow?useraction=commit&token=XXX&ul=0#/checkout/login");
当PayPal将我发回我的确认页面时,SessionStorage的内容已被清除 - 但这似乎只发生在移动设备上,我无法在桌面上使用Chrome进行复制。
为什么SessionStorage会被清除?
我的理解是,因为我没有打开新页面(我只是重新指导),所以应该保持状态。我读过的文档说当窗口关闭时会清除SessionStorage - 这与重定向没有区别吗?
有没有办法在返回时保持SessionStorage重定向到PayPal?
答案 0 :(得分:0)
我创建了一个简单的测试应用程序,它将一个项目添加到SessionStorage并使用location.replace转到PayPal,后者将我返回到应用程序中的另一个页面。
结果是SessionStorage一直存在!
原来一些代码已经提交给正在清理SessionStorage的应用程序,神秘解决了。