js使用post 方式打开新窗口


Posted in Javascript onFebruary 26, 2015

js中一般新打开窗口很简单直接window.open(url);就可以了,

但是由于我希望传递参数到服务端,而且参数看起来很长一串,而且get方式的提交参数长度是有限制的,因此我有以下需求:

1,js中实现post提交

2,返回的页面在新窗口显示

首先我是这么做的:

 $.ajax({   

                     type: "POST",   

                     url: '${contextPath}/analyse/detail.do',   

                     data: {carNum :carNum,ids:refIds},   

                     success: function(str_response) { var obj = window.open("about:blank");   

                        obj.document.write(str_response);   

                     }   

                 });

通过jQuery ajax提交,返回的数据写在新的页面中,但是由于浏览器的会拦截自动弹出的窗口,这样还需用户自己解除拦截,用户体验很差,

然后我又通过模拟form表单的提交来实现

function post(URL, PARAMS) { var temp_form = document.createElement("form");      

            temp_form .action = URL;      

            temp_form .target = "_blank";

            temp_form .method = "post";      

            temp_form .style.display = "none"; for (var x in PARAMS) { var opt = document.createElement("textarea");      

                opt.name = x;      

                opt.value = PARAMS[x];      

                temp_form .appendChild(opt);      

            }      

            document.body.appendChild(temp);      

            temp_form .submit();     

        }

注意:如需新打开窗口 form 的target属性要设置为'_blank'

然后请求post('${contextPath}/analyse/detail.do',{carNum :carNum,ids:refIds});就可以了

Javascript 相关文章推荐
cloudgamer出品ImageZoom 图片放大效果
Apr 01 Javascript
jQuery中not()方法用法实例
Jan 06 Javascript
javascript实现可键盘控制的抽奖系统
Mar 10 Javascript
js实现精确到秒的日期选择器完整实例
Apr 30 Javascript
JS在一定时间内跳转页面及各种刷新页面的实现方法
May 26 Javascript
JavaScript之DOM插入更新删除_动力节点Java学院整理
Jul 03 Javascript
Vue.js递归组件构建树形菜单
Dec 24 Javascript
webpack4 处理CSS的方法示例
Sep 03 Javascript
koa+mongoose实现简单增删改查接口的示例代码
May 13 Javascript
el-select数据过多懒加载的解决(loadmore)
May 29 Javascript
如何在JavaScript中创建具有多个空格的字符串?
Feb 23 Javascript
JS中锚点链接点击平滑滚动并自由调整到顶部位置
Feb 06 Javascript
JS仿Windows开机启动Loading进度条的方法
Feb 26 #Javascript
JS实现跟随鼠标闪烁转动色块的方法
Feb 26 #Javascript
javascript中typeof操作符和constucor属性检测
Feb 26 #Javascript
JS实现网页滚动条感应鼠标变色的方法
Feb 26 #Javascript
js随机生成网页背景颜色的方法
Feb 26 #Javascript
jQuery简单实现隐藏以及显示特效
Feb 26 #Javascript
最流行的Node.js精简型和全栈型开发框架介绍
Feb 26 #Javascript
You might like
在同一窗体中使用PHP来处理多个提交任务
2008/05/08 PHP
PHP编码转换函数 自动转换字符集支持数组转换
2012/12/16 PHP
一个简洁的PHP可逆加密函数(分享)
2013/06/06 PHP
一个好用的PHP验证码类实例分享
2013/12/27 PHP
Windows下的PHP 5.3.x安装 Zend Guard Loader教程
2014/09/06 PHP
php中$_POST与php://input的区别实例分析
2015/01/07 PHP
PHP操作MySQL中BLOB字段的方法示例【存储文本与图片】
2017/09/15 PHP
PHP7 安装event扩展的实现方法
2019/10/08 PHP
JavaScript闭包 懂不懂由你反正我是懂了
2011/10/21 Javascript
利用JS来控制键盘的上下左右键(示例代码)
2013/12/14 Javascript
JavaScript中的toDateString()方法使用详解
2015/06/12 Javascript
jQuery中hover与mouseover和mouseout的区别分析
2015/12/24 Javascript
JavaScript基础语法之js表达式
2016/06/07 Javascript
详解Nodejs之静态资源处理
2017/06/05 NodeJs
vue 实现全选全不选的示例代码
2018/03/29 Javascript
微信小程序实现运动步数排行功能(可删除)
2018/07/05 Javascript
基于axios 的responseType类型的设置方法
2019/10/29 Javascript
[01:01]青春无憾,一战成名——DOTA2全国高校联赛开启
2018/02/25 DOTA
[00:36]我的中国心——Serenity vs Fnatic
2018/08/21 DOTA
Python3 入门教程 简单但比较不错
2009/11/29 Python
强悍的Python读取大文件的解决方案
2019/02/16 Python
PyQt5实现从主窗口打开子窗口的方法
2019/06/19 Python
django 快速启动数据库客户端程序的方法示例
2019/08/16 Python
Python 矩阵转置的几种方法小结
2019/12/02 Python
Hotels.com爱尔兰:全球酒店预订
2017/02/24 全球购物
美国豪华的多品牌精品店:The Webster
2019/07/31 全球购物
法国一家多品牌成衣精品中/高档商店:Graduate Store
2019/08/28 全球购物
普通员工辞职信
2014/01/17 职场文书
工作求职信
2014/07/04 职场文书
夫妻房产协议书的格式
2014/10/11 职场文书
2014年乡镇党建工作总结
2014/11/11 职场文书
妈妈再爱我一次观后感
2015/06/08 职场文书
职场领导同事生日简短祝福语
2019/08/06 职场文书
《亲亲我的妈妈》观后感(3篇)
2019/09/26 职场文书
python实现过滤敏感词
2021/05/08 Python
Docker安装MySql8并远程访问的实现
2022/07/07 Servers