您的位置:首页 > Web前端 > JavaScript

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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript