• 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();
            }
    

      

  • 相关阅读:
    从1到n中找到任意num个数的和为sum的所有组合
    算法导论5.12
    使用c++技术实现下载网页
    算法导论5.13
    感慨
    算法导论2.37
    [转载]Yahoo!的分布式数据平台PNUTS简介及感悟
    Bigtable 论文笔记
    GFS 论文笔记
    MapReduce论文笔记
  • 原文地址:https://www.cnblogs.com/mr-hu2009/p/9460374.html
Copyright © 2020-2023  润新知