2016-07-22 1 views
4

AngularJS를 사용하여 다양한 페이지를 통해 예약 한 사용자의 세부 정보를 작성하는 예약 응용 프로그램을 개발했습니다. 이러한 세부 정보는 SessionStorage를 사용하여 저장됩니다 (LocalStorage를 피하고 싶습니다).Session storage lost on window.location.replace

사용자가 결제 페이지로 이동하면 REST 통화를 사용하여 PayPal 토큰을 생성 한 다음 PayPal로 리디렉션합니다. 페이팔 내 확인 페이지로 날 다시 전송 SessionStorage의 내용이 삭제되었을 때

window.location.replace("https://www.sandbox.paypal.com/checkoutnow?useraction=commit&token=XXX&ul=0#/checkout/login"); 

- 그러나 이것은 단지 모바일 기기에서 발생하는 것 같다

나는이-직접 재를 위해 사용하고 코드입니다 데스크톱에서 Chrome으로 복제 할 수 없습니다.

왜 SessionStorage가 지워 집니까?

나는 새로운 페이지를 열지 않기 때문에 (나는 단지 방향을 재지 정하고있다) 상태가 지속되어야한다는 것을 이해하고있다. 필자가 읽은 문서는 윈도우가 닫힐 때 SessionStorage가 지워진다는 것을 말합니다 - 이것이 리다이렉트와 다른 점입니까?

반환 할 때 SessionStorage를 지속하면서 PayPal로 리디렉션 할 수있는 방법이 있습니까?

+2

LocalStorage와 호환되는지 확인할 수 있습니까? (문제가 SessionStorage에만 해당되는지 확인하기 위해) 또한 Checkout 페이지가 Paypal로 리디렉션되는 페이지와 동일한 프로토콜을 사용합니까? (둘 다 HTTP 또는 모두 HTTPS) – Arnauld

+1

안녕 Arnauld, 프로토콜 동일합니다, 난 그냥 LocalStorage 시도하고이 잘 작동합니다. 휴대 전화의 세션 저장 장치에 관한 내용입니다. –

+1

나는 본다. 그건별로 좋지가 않아. LocalStorage를 사용하지 않으려는 동기가 무엇인지 물어볼 수 있습니까? 공용 컴퓨터 주위에 놓여서는 안되는 비밀 사용자 데이터, 아마도? – Arnauld

답변

0

나는 SessionStorage에 항목을 추가하고 location.replace를 사용하여 응용 프로그램의 다른 페이지로 돌아온 PayPal로 이동하는 간단한 테스트 응용 프로그램을 만들었습니다.

결과로 SessionStorage가 지속되었습니다!

일부 코드는 SessionStorage를 비우는 응용 프로그램에 투입되었으므로 신비가 해결되었습니다.