2013-10-17 2 views
-1

두 페이지로 된 사이트가 있습니다. 양식과 제출 버튼이있는 페이지 A;자바 스크립트에서 양식 제출 후 브라우저 (기록 -1)를 "지울 수 있습니까?"

POST를 사용하여 양식 데이터를 제출하여 $ .post 또는 무엇이든 사용할 수 없으므로 페이지 B의 계산 결과를 보여주는 페이지 B.

매개 변수가 쿼리 문자열에서 숨겨져 있어야하므로 document.location.replace ('ULRPageB? param1 = value1 & ... & paramN = valueN')를 사용할 수 없습니다.

하지만 사용자가 페이지 B에서 브라우저 뒤로 버튼을 클릭하면 페이지 하나가 아닌 두 페이지 뒤로 이동해야합니다.

는 역사를 교체, 서블릿에 AJAX되지 얻을 할 수있는 방법이 존재 : 다른 단어 질문은 :

가정은 수정할 수 없습니다 document.location.replace입니다.

히스토리를 대체하는 서블릿에 AJAX가 아닌 POST를 수행하는 동일한 방법이 있습니까?

답변

1

Post/Redirect/Get pattern

  1. 브라우저는 HTTP POST를 사용하여 양식이 제출합니다.
  2. 서버가 위치 HTTP 응답 헤더 필드를 설정합니다.
  3. 브라우저는 다시 POST를 접수 페이지 (에 도착하지 않기 때문에 위치 HTTP 응답 헤더 필드

에 언급 된 페이지에 HTTP GET 요청이 백 버튼보다 사용자 친화적 인 행동을하게 만든다 따라서 "POST 데이터가 만료되었습니다"라는 경고 및 실수로 중복 제출되지 않음). 오히려 뒤로 버튼은 양식을 보여주는 페이지로 돌아갑니다.

이 시나리오에서 뒤로 단추는 기술적으로 두 페이지 뒤로 이동합니다. 한 페이지 뒤로 더 이동하려면 : 그렇게하지 않으면 사용자를 화나게 할 것입니다.

+0

응답 해 주셔서 감사합니다. 나는 그 패턴을 몰랐고, 지식은 항상 감사합니다 :) – user1561017

관련 문제