解决 地址栏参数过多的方法

  (function (window) { // *****fomr表单提交解决地址栏过长**************************************************************************************************************************function openPostWindow(url, data, key, name) {     //首先创建一个form表单    var tempForm = document.createElement("form");    tempForm.id = "tempForm1";    //制定发送请求的方式为post    tempForm.method = "post";    //此为window.open的url,通过表单的action来实现    tempForm.action = url;    //利用表单的target属性来绑定window.open的一些参数(如设置窗体属性的参数等)    tempForm.target = name;     for (var i = 0; i < data.length; i++) {        for (var j = 0; j < key.length; j++) {            if (i == j) {                var hideInput = document.createElement("input");                hideInput.type = "hidden";                hideInput.value = data[i];                hideInput.name = key[j];                 //将input表单放到form表单里                tempForm.appendChild(hideInput);                break;            }            continue;        }    }     //此为给form表单绑定事件(onsubmit),由于存在浏览器兼容问题所以此处加了一个判断。    //但实质都是为form表单绑定一个提交事件,以便之后触发实现window.open效果    if (document.all) {        tempForm.attachEvent("onsubmit", function () { });        //IE    } else {        var subObj = tempForm.addEventListener("submit", function () { }, false);    //firefox    }    //将此form表单添加到页面主体body中    document.body.appendChild(tempForm);     //然后触发onsubmit事件时执行openWindow(name)函数。因为有特定浏览器会打开一个空白页面所以这里的function(甚至整个if)可以根据情况省略,经试验这不会影响模拟window.open的效果。    $("form").trigger("onsubmit", function () { openWindow(name); });    //手动触发,提交表单    tempForm.submit();     //从body中移除form表单    document.body.removeChild(tempForm);}function openWindow(name) {    window.open(name, 'height=400, width=400, top=0, left=0, toolbar=yes, menubar=yes, scrollbars=yes, resizable=yes,location=yes, status=yes'); }  // ****抛出*****************************************************************************************window.get = {    openPostWindow: openPostWindow,}})(window);            使用方式: var url = page;var data = [datas,btnName,"个人房产查询",checkboxStr];var keys = ["RESULT","CXFS","MKLX","checkboxStr"];var name = "_blank"  get.openPostWindow(url,data,keys,name);

     

    posted @   前端搬运工bug  阅读(376)  评论(0编辑  收藏  举报
    相关博文:
    阅读排行:
    · 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
    · 使用C#创建一个MCP客户端
    · ollama系列1:轻松3步本地部署deepseek,普通电脑可用
    · 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
    · 按钮权限的设计及实现
    点击右上角即可分享
    微信分享提示