2013-03-30 136 views
0

當前我有2頁基於以下URL MyNewApp/purchaseMyNewApp/confirm。在第二頁是/確認我添加了一個後退按鈕具有以下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"; 
}); 

按後退按鈕後,一切都工作正常,除了網址更改爲/MyNewApp/backToPurchase?_method=。如何在按下後退按鈕後將URL設置爲/MyNewApp/purchase

+0

你有沒有嘗試改變'this.form.action'是公正'「購買」'? –

+0

我有一個控制器處理/購買將初始化整個表單。我只想用輸入的信息回到以前的表單。 – abiieez

+0

這聽起來像是你想模擬瀏覽器的後退按鈕。你有沒有考慮過使用'window.history.back()'返回上一頁? –

回答

1

您不能隨意更改網址。 想一想,如果你可以改變這樣的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 
});