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实现的论坛常用的运行代码的效果
Jul 15 Javascript
MooTools 页面滚动浮动层智能定位实现代码
Aug 23 Javascript
script不刷新页面的联动前后代码
Sep 18 Javascript
javascript版的in_array函数(判断数组中是否存在特定值)
May 09 Javascript
JQuery通过AJAX从后台获取信息显示在表格上并支持行选中
Sep 15 Javascript
Nuxt升级2.0.0时出现的问题(小结)
Oct 08 Javascript
JS栈stack类的实现与使用方法示例
Jan 31 Javascript
Vue3.0 响应式系统源码逐行分析讲解
Oct 14 Javascript
vue自定义指令实现仅支持输入数字和浮点型的示例
Oct 30 Javascript
vscode 使用Prettier插件格式化配置使用代码详解
Aug 10 Javascript
详解JavaScript中new操作符的解析和实现
Sep 04 Javascript
原生js实现自定义消息提示框
Nov 19 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中的命名空间相关概念浅析
2015/01/22 PHP
PHP面向对象程序设计(OOP)之方法重写(override)操作示例
2018/12/21 PHP
JavaScript 对象、函数和继承
2009/07/07 Javascript
js下获取div中的数据的原理分析
2010/04/07 Javascript
在iframe里的页面编写js,实现在父窗口上创建动画效果展开和收缩的div(不变动iframe父窗口代码)
2011/12/20 Javascript
jquery遍历checkbox介绍
2014/02/21 Javascript
jquery查找tr td 示例模拟
2014/05/08 Javascript
nodejs中简单实现Javascript Promise机制的实例
2014/12/06 NodeJs
Jquery注册事件实现方法
2015/05/18 Javascript
贴近用户体验的Jquery日期、时间选择插件
2015/08/19 Javascript
JavaScript调用传递变量参数的相关问题及解决办法
2015/11/01 Javascript
JS使用tween.js动画库实现轮播图并且有切换功能
2018/07/17 Javascript
详解vue 不同环境配置不同的打包命令
2019/04/07 Javascript
js之切换全屏和退出全屏实现代码实例
2019/09/09 Javascript
Jquery异步上传文件代码实例
2019/11/13 jQuery
Python中Selenium模拟JQuery滑动解锁实例
2017/07/26 Python
Python数据结构与算法之使用队列解决小猫钓鱼问题
2017/12/14 Python
Python之list对应元素求和的方法
2018/06/28 Python
python生成n个元素的全组合方法
2018/11/13 Python
python实现对指定字符串补足固定长度倍数截断输出的方法
2018/11/15 Python
Python+Tensorflow+CNN实现车牌识别的示例代码
2019/10/11 Python
python飞机大战pygame碰撞检测实现方法分析
2019/12/17 Python
python如何输出反斜杠
2020/06/18 Python
pytorch加载自己的图像数据集实例
2020/07/07 Python
意大利在线药房:Farmacia Loreto Gallo
2019/08/09 全球购物
澳大利亚在线购买葡萄酒:The Wine Collective
2020/02/20 全球购物
法学专业毕业生自荐信范文
2013/12/18 职场文书
决定成败的关键——创业计划书
2014/01/24 职场文书
趣味游戏活动方案
2014/02/07 职场文书
汽车机修工岗位职责
2014/03/06 职场文书
卖房协议书
2014/04/11 职场文书
社会稳定风险评估方案
2014/06/02 职场文书
工作所在部门证明
2014/09/21 职场文书
pytorch 梯度NAN异常值的解决方案
2021/06/05 Python
SQL实现LeetCode(177.第N高薪水)
2021/08/04 MySQL
了解MySQL查询语句执行过程(5大组件)
2022/08/14 MySQL