2016-04-15 96 views
0

表單提交後,我想重定向到另一個頁面,我需要從上一個提交表單的值。我們可以在javascript url中傳遞GET變量嗎?

所以在我的重定向腳本我想通過在GET

這些價值觀我這樣做:

<script> 
var id = <?php echo $data['base_ini_id']."?&ext=".$data['ext']; ?> 

window.location.replace("./edit_ini_custom/"+id); 
</script> 

還是有別的什麼用其在需要我能做什麼?

回答

2

獲取變量(總是)通過URL。所以基本上你應該使用:

var redirectUrl = "yourUrlWithVariables"; 
window.location.replcae(redirectUrl); 

現在取決於你的目標URL的格式,你組成目標URL的方式。下面是一些常見例子: 格式1:baseUrl.com/page?paramName1=paramValue1 & paramName2 = paramValue2

var baseId = '<?=$data['base_ini_id'];?>'; 
var extId = '<?=$data['ext'];?>'; 
var baseUrl = "baseUrl.com/edit_ini_custom?base_ini_id="+baseId+"&ext="+extId; 

格式2:baseUrl.com/page/paramValue

var extId = '<?=$data['ext'];?>'; 
var baseUrl = "baseUrl.com/edit_ini_custom/"+extId; 

格式3: baseUrl.com/page/paramName/paramValue

var extId = '<?=$data['ext'];?>'; 
var baseUrl = "baseUrl.com/edit_ini_custom/ext/"+extId; 

格式4:baseUrl.com/page/paramName1/paramValue1/paramName2/paramValue2

var baseId = '<?=$data['base_ini_id'];?>'; 
var extId = '<?=$data['ext'];?>'; 
var baseUrl = "baseUrl.com/edit_ini_custom/base_ini_id/"+baseId+"/ext/"+extId; 

請注意,這只是指導原則,無論如何,在解析和構建目標URL之後,必須調用window.location.replace(baseUrl)。其他選項只是使用: window.location = baseUrl; ,但是使用這個會將重定向添加到允許用戶點擊「後退」的歷史記錄中,我不確定是否是您想要的內容。

希望這有助於

0

無法從下一頁訪問已提交的表單(上一頁)。

所以,總之,你的問題的答案是NO。

你需要的方式之一來實現: -

  • 存儲在用戶的會話對象(如果您已經登入實現)的值
  • 使用HTTP網絡跟蹤器或瀏覽器的的localStorage存儲值
  • 將值存儲到服務器並作爲隱藏變量在後續頁面中獲取。
+1

@sarth感謝,但我得到了一個答案,我可以通過它傳遞在這樣的參數做到這一點:window.location.replace( 「./ edit_ini_custom/」+ ID +「/」 + <? php echo $ data ['ext'];?>); – Rajan

0

您可以通過設置頁眉位置

header("Location: ".$data['base_ini_id']."?&ext=".$data['ext']); 

這將是一個方便的方法我想比你建議的一個做PHP重定向。

0

終於有了答案:

<script> 
var id = <?php echo $data['base_ini_id']; ?> 

window.location.replace("./edit_ini_custom/"+id+"/"+<?php echo $data['ext']; ?>); 
</script> 

我可以通過PHP變量爲參數而在功能上,我需要它,我只需要做:

public function edit_ini_custom($id,$ext) 
{ 
    echo $ext; 
    //code 
} 
相關問題