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 相关文章推荐
javaScript中slice函数用法实例分析
Jun 08 Javascript
jQuery获取访问者IP地址的方法(基于新浪API与QQ查询接口)
May 25 Javascript
走进javascript——不起眼的基础,值和分号
Feb 24 Javascript
详解vue.js全局组件和局部组件
Apr 10 Javascript
ReactNative踩坑之配置调试端口的解决方法
Jul 28 Javascript
Vue2.0基于vue-cli+webpack Vuex的用法(实例讲解)
Sep 15 Javascript
Vue CLI 2.x搭建vue(目录最全分析)
Feb 27 Javascript
利用Electron简单撸一个Markdown编辑器的方法
Jun 10 Javascript
Vue实现数据表格合并列rowspan效果
Nov 30 Javascript
vue用BMap百度地图实现即时搜索功能
Sep 26 Javascript
js防抖函数和节流函数使用场景和实现区别示例分析
Apr 11 Javascript
jquery实现异步文件上传ajaxfileupload.js
Oct 23 jQuery
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
破解图片防盗链的代码(asp/php)测试通过
2010/07/02 PHP
php中Smarty模板初体验
2011/08/08 PHP
使用PHP遍历文件夹与子目录的函数代码
2011/09/26 PHP
解析php中static,const与define的使用区别
2013/06/18 PHP
个人写的PHP验证码生成类分享
2014/08/21 PHP
Joomla调用系统自带编辑器的实现方法
2016/05/05 PHP
PHP网站常见安全漏洞,及相应防范措施总结
2021/03/01 PHP
jQuery 数据缓存data(name, value)详解及实现
2010/01/04 Javascript
js相册效果代码(点击创建即可)
2013/04/16 Javascript
写得不错的jquery table鼠标经过变色代码
2013/09/27 Javascript
阻止事件(取消浏览器对事件的默认行为并阻止其传播)
2013/11/03 Javascript
jQuery中extend函数的实现原理详解
2015/02/03 Javascript
javascript操作ul中li的方法
2015/05/14 Javascript
使用AngularJS制作一个简单的RSS阅读器的教程
2015/06/18 Javascript
js实现简单的网页换肤效果
2017/01/18 Javascript
jQuery使用unlock.js插件实现滑动解锁
2017/04/04 jQuery
js实现倒计时关键代码
2017/05/05 Javascript
微信小程序之蓝牙的链接
2017/09/26 Javascript
JavaScript实现计数器基础方法
2017/10/10 Javascript
Node.js使用Angular简单示例
2018/05/11 Javascript
vue3.0 CLI - 2.4 - 新组件 Forms.vue 中学习表单
2018/09/14 Javascript
jQuery中实现text()的方法
2019/04/04 jQuery
浅谈vue中$bus的使用和涉及到的问题
2020/07/28 Javascript
python3 实现的人人影视网站自动签到
2016/06/19 Python
在Python中pandas.DataFrame重置索引名称的实例
2018/11/06 Python
使用opencv将视频帧转成图片输出
2019/12/10 Python
利用Pytorch实现简单的线性回归算法
2020/01/15 Python
自学python用什么系统好
2020/06/23 Python
微软开源最强Python自动化神器Playwright(不用写一行代码)
2021/01/05 Python
css3 border-image使用说明
2010/06/23 HTML / CSS
幼师求职自荐信范文
2014/01/26 职场文书
4s店销售经理岗位职责
2014/07/19 职场文书
小学标准化建设汇报材料
2014/08/16 职场文书
用Python提取PDF表格的方法
2021/04/11 Python
Appium中scroll和drag_and_drop根据元素位置滑动
2022/02/15 Python
Java中的Kotlin 内部类原理
2022/06/16 Java/Android