js中跳转新页面隐藏路径参数问题
2016-09-29 17:26
567 查看
问题:利用window.open等方式新开页面时,会暴露路径中所携带参数。
解决方案:通过构建form表单,将参数写入表单中,并提交,代码如下:
(function(){
//设置命名空间
var CodeSTD = window.CodeSTD || {};
window.CodeSTD = CodeSTD;
/**
* 创建Form表单,在页面跳转时,隐藏路径中的参数信息
* @author shaohsuai
* @param config Object
* <p>url:form的Action,提交的后台地址</p>
* <p>method:使用POST还是GET提交表单</p>
* <p>params:参数 K-V</p>
* @return Form
*/
CodeSTD.form = function(config){
config = config || {};
var url = config.url,
method = config.method || 'GET',
params = config.params || {};
var form = document.createElement('form');
form.action = url;
form.method = method;
form.target = "_blank";
for(var param in params){
var value = params[param],
input = document.createElement('input');
input.type = 'hidden';
input.name = param;
input.value = value;
form.appendChild(input);
}
return form;
}
})()
function f_status(id){
//window.open("${ctx}/sbgl/sbgl!getHostStautsInfo?hostid="+id);
var form = new CodeSTD.form({
url:'${ctx}/sbgl/sbgl!getHostStautsInfo',
method:'POST',
params:{
hostid:id,
}
})
$(form).submit();
form = null;
}
解决方案:通过构建form表单,将参数写入表单中,并提交,代码如下:
(function(){
//设置命名空间
var CodeSTD = window.CodeSTD || {};
window.CodeSTD = CodeSTD;
/**
* 创建Form表单,在页面跳转时,隐藏路径中的参数信息
* @author shaohsuai
* @param config Object
* <p>url:form的Action,提交的后台地址</p>
* <p>method:使用POST还是GET提交表单</p>
* <p>params:参数 K-V</p>
* @return Form
*/
CodeSTD.form = function(config){
config = config || {};
var url = config.url,
method = config.method || 'GET',
params = config.params || {};
var form = document.createElement('form');
form.action = url;
form.method = method;
form.target = "_blank";
for(var param in params){
var value = params[param],
input = document.createElement('input');
input.type = 'hidden';
input.name = param;
input.value = value;
form.appendChild(input);
}
return form;
}
})()
function f_status(id){
//window.open("${ctx}/sbgl/sbgl!getHostStautsInfo?hostid="+id);
var form = new CodeSTD.form({
url:'${ctx}/sbgl/sbgl!getHostStautsInfo',
method:'POST',
params:{
hostid:id,
}
})
$(form).submit();
form = null;
}
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- Android学习笔记(二九):嵌入浏览器
- Android java 与 javascript互访(相互调用)的方法例子
- JavaScript演示排序算法
- javascript实现10进制转为N进制数
- JavaScript 基础、进阶以及 Ubuntu 系统中的 JavaScript 开发调试工具
- 最后一次说说闭包
- Ajax
- 2019年开发人员应该学习的8个JavaScript框架
- HTML中的script标签研究
- 对一个分号引发的错误研究
- 设计模式---状态模式在web前端中的应用
- 异步流程控制:7 行代码学会 co 模块
- ES6 走马观花(ECMAScript2015 新特性)
- JavaScript拆分字符串时产生空字符的原因
- Canvas 在高清屏下绘制图片变模糊的解决方法
- 材质