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 相关文章推荐
把JS与CSS写在同一个文件里的书写方法
Jun 02 Javascript
JavaScript 常见对象类创建代码与优缺点分析
Dec 07 Javascript
基于jquery的放大镜效果
May 30 Javascript
jquery中event对象属性与方法小结
Dec 18 Javascript
JS比较2个日期间隔的示例代码
Apr 15 Javascript
JQuery动画与特效实例分析
Feb 02 Javascript
JavaScript控制两个列表框listbox左右交换数据的方法
Mar 18 Javascript
浅谈jquery中delegate()与live()
Jun 22 Javascript
bootstrap fileinput组件整合Springmvc上传图片到本地磁盘
May 11 Javascript
微信小程序 循环及嵌套循环的使用总结
Sep 26 Javascript
JavaScript+Canvas实现彩色图片转换成黑白图片的方法分析
Jul 31 Javascript
Vue的生命周期一起来看看
Feb 24 Vue.js
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原创论坛
2006/10/09 PHP
PHP高并发和大流量解决方案整理
2019/12/24 PHP
php 输出缓冲 Output Control用法实例详解
2020/03/03 PHP
intro.js 页面引导简单用法 分享
2013/08/06 Javascript
关于Javascript加载执行优化的研究报告
2014/12/16 Javascript
百度地图API之本地搜索与范围搜索
2015/07/30 Javascript
JS实现获取剪贴板内容的方法
2016/06/21 Javascript
模板视图和AngularJS之间冲突的解决方法
2016/11/22 Javascript
总结几道关于Node.js的面试问题
2017/01/11 Javascript
JQuery异步提交表单与文件上传功能示例
2017/01/12 Javascript
layer关闭当前窗口页面以及确认取消按钮的方法
2019/09/09 Javascript
微信小程序自定义导航栏(模板化)
2019/11/15 Javascript
js实现tab栏切换效果
2020/08/02 Javascript
Ant Design的可编辑Tree的实现操作
2020/10/31 Javascript
[58:29]DOTA2-DPC中国联赛 正赛 Phoenix vs XG BO3 第一场 1月31日
2021/03/11 DOTA
Python中zip()函数用法实例教程
2014/07/31 Python
利用Anaconda完美解决Python 2与python 3的共存问题
2017/05/25 Python
python实现判断一个字符串是否是合法IP地址的示例
2018/06/04 Python
Python标准库shutil用法实例详解
2018/08/13 Python
Python如何爬取微信公众号文章和评论(基于 Fiddler 抓包分析)
2019/06/28 Python
python如何代码集体右移
2020/07/20 Python
如何用python写个模板引擎
2021/01/14 Python
HTML5之SVG 2D入门1—SVG(可缩放矢量图形)概述
2013/01/30 HTML / CSS
一个不错的HTML5 Canvas多层点击事件监听实例
2014/04/29 HTML / CSS
荷兰照明、灯具和配件网上商店:dmlights
2019/08/25 全球购物
法国房车租赁网站:Yescapa
2019/08/26 全球购物
乌克兰第一的珠宝网上商店:Gold.ua
2019/11/29 全球购物
亚洲最大的运动鞋寄售店:KicksCrew
2020/11/26 全球购物
思想品德自我鉴定
2013/10/12 职场文书
中专毕业生自我鉴定
2014/02/02 职场文书
运动会入场解说词
2014/02/07 职场文书
老公保证书怎么写
2015/02/26 职场文书
2016年教师师德师风心得体会
2016/01/12 职场文书
职工趣味运动会开幕词
2016/03/04 职场文书
浅谈Python中的正则表达式
2021/06/28 Python
在windows server 2012 r2中安装mysql的详细步骤
2022/07/23 Servers