2013-08-01 2 views
0

나는 사용자가 다른 서비스를 요청하는 데 사용되는 간단한 "서비스 요청 양식"을 가지고 있습니다. 세션 또는 로그인 개념이 없습니다. "서비스 신청서"를 제출 버튼을 클릭 지금브라우저 방향 버튼을 중지하여 페이지로 리디렉션하는 방법은 무엇입니까?

  1. 은은 "감사-you.cfm를"페이지로 사용자를 리디렉션합니다.

  2. 사용자가 브라우저의 뒤로 단추를 누르면 모든 필드가 비어있는 양식이 다시 나타납니다.

  3. 사용자가 브라우저 앞으로 버튼을 클릭하면 다시 Thank-you.cfm 페이지가 표시됩니다.

브라우저 앞으로 버튼을 클릭 할 때 "Thank-you.cfm"페이지를 다시 표시하고 싶지 않습니다.이 페이지의 캐시도 지우고 있습니다.

캐시를 지우기 위해 어떻게이 일을이 코드

<cfheader name="cache-control" value="no-cache, no-store, must-revalidate"> 
<cfheader name="pragma" value="no-cache"> 
<cfheader name="expires" value="#getHttpTimeString(now()-1)#"> 

을 사용하고?

+0

양식이 감사 페이지에 직접 게시됩니까? –

+0

아니요, 요청 양식이 같은 페이지에 게시되고 성공하면 감사 페이지로 리디렉션됩니다. –

답변

0

IE10 +를 지원할 수있는 경우 HTML5 History API을 사용할 수 있습니다.

예 : window.history.replaceState() 방법.

+0

제발 이걸 어떻게 사용할 수 있을까요? –

+0

AJAX를 사용하여 양식을 POST하고 성공시 Body를 'Thank-you.cfm'으로 바꿀 수 있습니다. 그런 다음 히스토리 상태를'Thank-you.cfm'으로 바꾸면 hstory 레코드는 하나만 있지만 URL에는'Thank-you.cfm' 만있을 것입니다. – antyrat

+0

아약스를 사용할 수 없으며 같은 페이지에 양식을 제출하고 있습니다. 성공하면 thank -.cfm 페이지로 리디렉션됩니다. –

0

리디렉션 이외의 게시물 데이터가 전달 된 경우에만 페이지가 표시되도록하십시오.

나는 coldfusion을 사용하기 전에 코드를 너무 많이 사용할 수는 없지만 이것이 가장 좋은 개념이라고 생각합니다.

유효 후 데이터

+0

입니다.하지만 페이지가 캐시에 존재하기 때문에 브라우저의 앞으로 버튼을 클릭하면 감사 페이지가 나타납니다. –

+0

캐시를 비우는 것입니다. 어쩌면 당신은 당신이 생각하는 것일 수 있습니다. 질문을 수정하고 삭제하는 데 사용하는 코드를 추가하는 것이 좋습니다. –

+0

@ DanBracuk : 질문에 코드를 추가했습니다. 확인하고 알려주십시오. 브라우저의 앞으로 버튼이 캐시에서 페이지를 가져 오지 못하게하려면 어떻게해야합니까? –

3

나는 당신이이 길을 계속하면 문제에 자신을 얻을 것 생각이 없다면 아무도는 감사 you.cfm 페이지에 갈 수없는이 방법. 어제 당신은 how to change the default behavior of the browser back-button에게 질문했고 오늘 브라우저 앞으로 버튼의 기본 동작을 변경하는 방법을 묻습니다. 모든 브라우저에는 이러한 기능이 있으며 사용자에게 도움이되도록 설계되었습니다. 이 기능들이 역동적 인 웹 사이트 (그리고 우리 개발자들)에게 수년 동안 두통을 안겨주 었다는 것에 동의하지만, 나는 당신이 그들의 행동을 바꾸려고 시도하는 것에 동의하지 않습니다. 대신 행동을 정상적으로 처리해야합니다.

귀하의 게시물 중 어느 것이 당신이 무엇인지 알고 싶지 않습니다. 내 가정은 양식 데이터의 중복 게시물 (피터가 다른 질문에서 말했듯이)을 피하기 위해서입니다. 그렇다면 제출 된 정보가 이미 제출되었는지 확인하고 적절한 경우 사용자에게 적절한 메시지를 게시해야합니다 (베드로가 이미 다른 질문에서 언급 한 것처럼).

이러한 기능의 작동 방식을 변경하려고하면 내 생각에 당신을 물들 일 것입니다. 스티어링 휠이 모든 차에서 작동하는 방식을 바꾸는 것과 비슷합니다. 스티어링 휠을 왼쪽으로 돌릴 때의 기본 동작은 차가 왼쪽으로 돌았다는 것입니다. 대신 오른쪽으로 돌리고 싶습니다 ...

+3

다음 질문이 "새로 고침 버튼을 비활성화하는 방법"인 경우 놀라지 않을 것입니다 ... / –

관련 문제