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获取url参数代码实例分享(JS操作URL)
Dec 13 Javascript
使用JQuery FancyBox插件实现图片展示特效
Nov 16 Javascript
jquery实现移动端点击图片查看大图特效
Sep 11 Javascript
Javascript的表单与验证-非空验证
Mar 18 Javascript
原生js图片轮播效果实现代码
Oct 19 Javascript
JavaScript数据类型和变量_动力节点Java学院整理
Jun 26 Javascript
vue在手机中通过本机IP地址访问webApp的方法
Aug 15 Javascript
mock.js模拟前后台交互
Jul 25 Javascript
vue如何搭建多页面多系统应用
Jun 17 Javascript
Ant Design的Table组件去除
Oct 24 Javascript
vue下载二进制流图片操作
Oct 26 Javascript
原生JavaScript实现轮播图
Jan 10 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
教你如何把一篇文章按要求分段
2006/10/09 PHP
深思 PHP 数组遍历的差异(array_diff 的实现)
2008/03/23 PHP
PHP 获取目录下的图片并随机显示的代码
2009/12/28 PHP
学习使用curl采集curl使用方法
2012/01/11 PHP
深入PHP中的HashTable结构详解
2013/06/13 PHP
PHP迭代器的内部执行过程详解
2013/11/12 PHP
php 类中的常量、静态属性、非静态属性的区别
2017/04/09 PHP
基于JQuery的动态删除Table表格的行和列的代码
2011/05/12 Javascript
jQuery函数的等价原生函数代码示例
2013/05/27 Javascript
artDialog+plupload实现多文件上传
2016/07/19 Javascript
javascript中的后退和刷新实现方法
2016/11/10 Javascript
Vue-cli-webpack搭建斗鱼直播步骤详解
2017/11/17 Javascript
ES6 系列之 Generator 的自动执行的方法示例
2018/10/19 Javascript
this在vue和小程序中的使用详解
2019/01/28 Javascript
Vue 数组和对象更新,但是页面没有刷新的解决方式
2019/11/09 Javascript
vue-cli3项目配置eslint代码规范的完整步骤
2020/09/10 Javascript
理解Python中函数的参数
2015/04/27 Python
用C++封装MySQL的API的教程
2015/05/06 Python
在Python程序中操作文件之flush()方法的使用教程
2015/05/24 Python
python简单线程和协程学习心得(分享)
2017/06/14 Python
python之文件读取一行一行的方法
2018/07/12 Python
python实现决策树分类(2)
2018/08/30 Python
Pyqt5自适应布局实例
2019/12/13 Python
python飞机大战 pygame游戏创建快速入门详解
2019/12/17 Python
python cv2截取不规则区域图片实例
2019/12/21 Python
python爬虫开发之selenium模块详细使用方法与实例全解
2020/03/09 Python
python闭包与引用以及需要注意的陷阱
2020/09/18 Python
马来西亚综合购物网站:Lazada马来西亚
2018/06/05 全球购物
报关专员求职信范文
2014/02/22 职场文书
人民调解员培训方案
2014/06/05 职场文书
电子商务专业毕业生求职信
2014/06/12 职场文书
个人工作作风整改措施思想汇报
2014/10/13 职场文书
2015年世界环境日活动总结
2015/02/11 职场文书
勤俭节约倡议书范文
2015/04/29 职场文书
中国合伙人观后感
2015/06/02 职场文书
互联网创业商业模式以及赚钱法则有哪些?
2019/10/12 职场文书