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 相关文章推荐
SWFObject 2.1以上版本语法介绍
Jul 10 Javascript
JS 进度条效果实现代码整理
May 21 Javascript
js函数setTimeout延迟执行的简单介绍
Jul 17 Javascript
ajax请求乱码的解决方法(中文乱码)
Apr 10 Javascript
Bootstrap开发实战之响应式轮播图
Jun 02 Javascript
JavaScript中ES6字符串扩展方法
Aug 26 Javascript
JS实现弹出下载对话框及常见文件类型的下载
Jul 13 Javascript
JavaScript实现的搜索及高亮显示功能示例
Aug 14 Javascript
ES6中数组array新增方法实例总结
Nov 07 Javascript
详解vue表单——小白速看
Apr 08 Javascript
浅谈vue中.vue文件解析流程
Apr 24 Javascript
使用 electron 实现类似新版 QQ 的登录界面效果(阴影、背景动画、窗体3D翻转)
Oct 23 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中将数组转成XML格式的实现代码
2011/08/08 PHP
PHP截断标题且兼容utf8和gb2312编码
2013/09/22 PHP
BOOM vs RR BO5 第四场 2.14
2021/03/10 DOTA
JSON 学习之完全手册 图文
2007/05/29 Javascript
最简单的jQuery程序 入门者学习
2009/07/09 Javascript
Javascript学习笔记8 用JSON做原型
2010/01/11 Javascript
jquery checkbox,radio是否选中的判断代码
2010/03/20 Javascript
JQuery实现的购物车功能(可以减少或者添加商品并自动计算价格)
2015/01/13 Javascript
JS代码随机生成姓名、手机号、身份证号、银行卡号
2016/04/27 Javascript
利用JavaScript对中文(汉字)进行排序实例详解
2017/06/18 Javascript
JS通过调用微信API实现微信支付功能的方法示例
2017/06/29 Javascript
React Native悬浮按钮组件的示例代码
2018/04/05 Javascript
echarts实现地图定时切换散点与多图表级联联动详解
2018/08/07 Javascript
Node.js如何对SQLite的async/await封装详解
2019/02/14 Javascript
详解Vue中组件的缓存
2019/04/20 Javascript
p5.js绘制旋转的正方形
2019/10/23 Javascript
js 递归json树实现根据子id查父id的方法分析
2019/11/08 Javascript
原生js实现自定义消息提示框
2020/11/19 Javascript
python实现搜索指定目录下文件及文件内搜索指定关键词的方法
2015/06/28 Python
使用Python3制作TCP端口扫描器
2017/04/17 Python
python dataframe astype 字段类型转换方法
2018/04/11 Python
对numpy中shape的深入理解
2018/06/15 Python
python调用Matplotlib绘制分布点图
2019/10/18 Python
基于Keras中Conv1D和Conv2D的区别说明
2020/06/19 Python
使用keras实现BiLSTM+CNN+CRF文字标记NER
2020/06/29 Python
python中的split、rsplit、splitlines用法说明
2020/10/23 Python
英国婴儿及儿童产品商店:TigerParrot
2019/03/04 全球购物
JS原生实现轮播图的几种方法
2021/03/23 Javascript
中专毕业生自荐信
2013/11/16 职场文书
食品厂厂长岗位职责
2014/01/30 职场文书
绿色学校实施方案
2014/03/31 职场文书
2015年小学教导处工作总结
2015/05/26 职场文书
幼儿园卫生保健制度
2015/08/05 职场文书
2015年度考核个人工作总结
2015/10/24 职场文书
SpringBoot集成Redis,并自定义对象序列化操作
2021/06/22 Java/Android
DE1107机评
2022/04/05 无线电