post方式打开新页面并提交参数

以post形式打开一个新页面,并且提交一些参数,本质是使用form的target指向一个新的空白页面

function getUrlStr(URL) {

    let paramObj = {};

    let paramArr = [];

    let urlstr = '';

    const strs = URL.split('&'); // 分割参数

    for(let i=0;i<strs,length;i++){

        paramObj[strs[i].split('=')[0]] = strs.split('=')[1];

    }

    for(let key in paramObj){

        if(key != url){

            paramArr.push({name:key,value:paramObj[key]});

        }else{

            urlstr = paramObj[key];

        }

    }

    postForm(url, paramArr);

}

function postForm(url, params) {

    var temp = document.createElement("form"); //创建form表单

    temp.action = url;

    temp.target = "_blank";

    temp.method = "post";

    temp.style.display = "none";//表单样式为隐藏

    for (var item in params) {//初始化表单内部的控件

       //根据实际情况创建不同的标签元素

        var opt =document.createElement("input");  //添加input标签

        opt.type="text";   //类型为text

        opt.id = item;      //设置id属性

        opt.name = item;    //设置name属性

        opt.value = params[item];   //设置value属性

        temp.appendChild(opt);

    }

    document.body.appendChild(temp);

    setTimeout(() => {

        temp.submit();

        document.body.removeChild(temp);

    })

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值