2011-12-19 3 views
1

사용자가 Ajax 항목을 추가 할 때 Ajax가 업데이트되는 장바구니 인 Ajax가있는 페이지를 부분적으로 업데이트하고 있습니다. 문제는 사용자가 결제로 이동 한 다음 뒤로 버튼을 누르면 쇼핑 카트가 Ajax로 업데이트됨에 따라 비어있는 것처럼 보입니다. 페이지를 새로 고침하면 항목이 다시 나타납니다.뒤로 버튼이있는 부분적인 Ajax 업데이트

페이지를 강제로 뒤로 가기 버튼으로 업데이트 할 수있는 방법이 있습니까?

+0

정확히 일치하는 http://stackoverflow.com/questions/1470249/force-application-refresh-on-back-button – Pierre

답변

0

아약스 응용 프로그램에서 history.pushstate를 사용하는 경우 카드의 내용을 전역 네임 스페이스의 변수에 유지할 수 있습니다 (예 : window.cartItems = {item1, item2, ...}). 뒤로 버튼을 누르고 이전 버튼을 다시 렌더링하면 해당 전역 객체에서 항목을 가져옵니다.

+0

문제는 두 번째 페이지가 Ajax가 아님을 나타냅니다. 그래서 저는 Ajax를 통해 업데이트 된 부분을 Ajax를 통해 이동하지 않고 다른 페이지로 이동했습니다. – Tam

+0

아직 아약스가 아닌 페이지에 자바 스크립트 코드가있는 경우 모든 jscript 지원 페이지에서 전역 변수에 액세스 할 수 있으므로 처리 할 수 ​​있습니다. –

0

뒤로 버튼 자체의 동작을 변경하지 않는 것이 좋습니다. 사용자는 뒤로 버튼을 사용하여 페이지를 다시 가져오고 다른 작업은 수행하지 않기를 기대합니다.

다른 접근 방식을 제안합니다. 예를 들어 장바구니 페이지 자체에서 실행되는 JS가있을 수 있습니다. 이 스크립트는 백엔드에서 모든 카트 데이터를 가져옵니다. 페이지로드시 스크립트가 한 번 실행되어 카트가 최신 상태인지 확인할 수 있습니다.

관련 문제