2013-03-30 2 views
0

현재 및 MyNewApp/confirm을 기반으로 2 페이지를 가지고 있습니다./확인되는 2 페이지에서 내가 뒤로 버튼 모두를 누른 후 다음GET 요청 후 표시된 URL 변경

HTML

<button type="submit" class="btn" id="back"> 
Go Back 
</button> 

JS

$('button[id="back"]').click(function() { 
    this.form.action="backToPurchase"; 
    this.form.method="GET"; 
}); 

와 뒤로 버튼을 추가는 제외하고 잘 작동 URL이 /MyNewApp/backToPurchase?_method= (으)로 변경되었습니다. 뒤로 버튼을 누른 후 URL을 /MyNewApp/purchase으로 설정하려면 어떻게해야합니까?

+0

당신이'this.form.action'은''그냥 "구매"로 변경하려고 했습니까? –

+0

전체 양식을 초기화하는/처리 컨트롤러가 있습니다. 입력 한 정보로 이전 양식으로 돌아가고 싶습니다. – abiieez

+0

브라우저의 뒤로 버튼을 에뮬레이트하려는 것처럼 들립니다. 이전 페이지로 돌아가려면'window.history.back()'사용을 고려 했습니까? –

답변

1

원하는대로 URL을 변경할 수 없습니다. URL을 변경하면 큰 보안 문제가 될 수 있다고 생각하면됩니다.

하지만 대신 POST를 사용하거나 URL을 바꿀 수 있도록 사용자를 새 페이지로 보내십시오. 해결할 옵션이 많습니다.

1

이것은 기술적으로 당신의 질문에 대한 답변이지만, 당신이 원하는 것을하기위한 더 좋은 방법에 대해 생각하고 싶을 수도 있습니다.

window.history.pushState (null, null, "/ new-url");

+0

더 좋은 방법이 무엇인지 알 수 있겠는가? – abiieez

0

내가 대신 양식 단지 재 지정에 제출의 더 나은 옵션을 추천 할 것입니다, 다음을 사용 :

$('#back').click(function() {// <-- selecting by id is much faster than selecting by attribute "id" 
    location.href = '/backToPurchase'; // or '/purchase'; 
    // OR you can do the following : 
    history.back(); //this will performs as you clicked the back btn from the browser 
});