用post方式打开新窗口,并隐藏URL后面的参数

       windowOpen:function(url){//用post方式打开新窗口
            var map = {};   
            if (url.indexOf('?') != -1) {   
                var str = url.substr(url.indexOf('?')+1);   
                strs = str.split('&');   
                for(var i = 0; i < strs.length; i ++) {   
                    map[strs[i].split('=')[0]]=unescape(strs[i].split('=')[1]);   
                }   
                url = url.substr(0,url.indexOf('?'));
            }   
            var winFormName = generUUID();
            var tempForm = document.createElement("form");    
            tempForm.id = winFormName;  
            //制定发送请求的方式为post  
            tempForm.method="post";   
            //此为window.open的url,通过表单的action来实现  
            tempForm.action = url;  
            //利用表单的target属性来绑定window.open的一些参数(如设置窗体属性的参数等)  
            tempForm.target="_blank"; 
            $.each(map, function(key, val) {
                var hideInput = document.createElement("input");    
                hideInput.type ="hidden";    
                hideInput.name = key;  
                hideInput.value = val; 
                //将input表单放到form表单里  
                tempForm.appendChild(hideInput); 
                //formHtml += "";
            });
            //将此form表单添加到页面主体body中  
            document.body.appendChild(tempForm); 
            //手动触发,提交表单  
            tempForm.submit();
            //从body中移除form表单  
            document.body.removeChild(tempForm);  
        }

你可能感兴趣的:(JS)