我正在使用Angular JS,bootstrap和一些在php中创建的API用于我的应用程序开发。 这时我运行应用程序并将其从一个页面重定向到另一个页面。 Form参数在URL处显示两次。
喜欢:
http://localhost:8085/TaskManager/Report.html?password=admin&userId=4&type=ADMIN#/Report.html?password=admin&userId=4&type=ADMIN
我在每个页面中保存参数(以隐藏元素的形式,比如'hiddenForm',方法=“get”),这样当需要重定向另一个页面时,这些参数可以在提交后在该页面上获得'hiddenForm'。每个地方都可以,但只有问题 “在URL处显示两次值”。
HTML code:(Dashboard.html)
<form id="hiddenForm">
<input id="userId" name="userId" type="hidden" value="">
<input id="password" name="password" type="hidden" value="">
<input id="type" name="type" type="hidden" value="">
</form>
<a href="#" onclick="getReports();">Reports</a>
......
......
<script type="text/javascript" src="./js/app.js"></script>
JS部分:(app.js)
/* for getting the parameters form previous page ('Login.html' for this case) and setting them in the current page ('Dashboard.html' for this case)*/
function getParameterByName(name) {
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
results = regex.exec(location.search);
return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}
var userId='';
userId = getParameterByName('userId');
var password='';
password = getParameterByName('password');
var type='';
type = getParameterByName('type');
document.getElementById('userId').value=userId;
document.getElementById('password').value=password;
document.getElementById('type').value=type;
function getReports(){
document.getElementById('hiddenForm').setAttribute("action","./Report.html");
document.getElementById('hiddenForm').submit();
}
function getDashboard(){
document.getElementById('hiddenForm').setAttribute("action","./Dashboard.html");
document.getElementById('hiddenForm').submit();
}
用于重定向到:( Report.html)/ *几乎相同的代码...因为它需要保存上一页的数据,并且可以在提交到另一页时提供它们* /
<form id="hiddenForm">
<input id="userId" name="userId" type="hidden" value="">
<input id="password" name="password" type="hidden" value="">
<input id="type" name="type" type="hidden" value="">
</form>
<a href="#" onclick="getDashboard();">Dashboard</a>
......
......
<script type="text/javascript" src="./js/app.js"></script>
不知道为什么会这样。我在哪里做错了(如果有的话)。
我被困在这里,请建议我。