JavaScript 以POST方式打开新页面

场景:前置的查询页面,选择查询条件后提交到另一个页面。

方式很多,列出我知道的几种

1.window.open.

2.Response.Redirect.

3.Server.Transfer.

方法一和方法二都存在同样的问题,因为是get方式提交的,所以提交的数据都会显示URL中,一个是安全问题,另外一个是URL长度限制,在IE中,URL最大长度为2083.所以数据量过多时会导致数据丢失。

于是考虑到通过POST方式传递参数。

/*
        *功能: JS跳转页面,并已POST方式提交数据
        *参数: URL 跳转地址 PARAMTERS 参数
        *返回值:
        *创建时间:
        *创建人: 
        */
        function ShowReport_Click() {

            var parames = new Array();
            parames.push({ name: "param1", value: "param1"});
            parames.push({ name: "param2", value: "param2"});

            Post("SupplierReportPreview.aspx", parames);

            return false;
        }

        /*
        *功能: 模拟form表单的提交
        *参数: URL 跳转地址 PARAMTERS 参数
        *返回值:
        *创建时间:20160713
        *创建人: 
        */
        function Post(URL, PARAMTERS) {
            //创建form表单
            var temp_form = document.createElement("form");
            temp_form.action = URL;
            //如需打开新窗口,form的target属性要设置为'_blank'
            temp_form.target = "_self";
            temp_form.method = "post";
            temp_form.style.display = "none";
            //添加参数
            for (var item in PARAMTERS) {
                var opt = document.createElement("textarea");
                opt.name = PARAMTERS[item].name;
                opt.value = PARAMTERS[item].value;
                temp_form.appendChild(opt);
            }
            document.body.appendChild(temp_form);
            //提交数据
            temp_form.submit();
        }

  

转载于:https://www.cnblogs.com/mr-hu2009/p/9460374.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值