【jquery】ajax 请求成功后新开窗口被拦截解决方法
问题:
前面开发项目时碰到一个问题,ajax 异步请求成功后需要新开窗口打开 url,使用的是 window.open() 方法,但是很可惜被浏览器给拦截了,怎么解决这个问题呢?
分析:
浏览器之所以拦截新开窗口是因为该操作并不是用户主动触发的,所以它认为这是不安全的就拦截了(不过如果是 _self 的话就不会有这个限制),即使 ajax 回调函数中模拟执行 click 或者 submit 等用户行为(trigger('click')),浏览器也会认为不是由用户主动触发的,因此不能被安全执行,所以被拦截。
解决方法:
1、异步改为同步,即:async:false
2、将新开窗口指向为一个对象,然后修改对象的 url,比如:
$('.task').bind('click',function(){var w = window.open();$.ajax({type: 'POST',url: '/surveyTask',dataType: 'json',error: function(){w.close();},success: function(res){w.location = res.url;}}); });
最后需要说明的是:网上的动态添加 form 新开窗口的方法,并不适合 ajax 请求,至少博主测试了下仍然被浏览器所拦截。
参考资料:弹窗解决最终奥义,人类再再也无法阻止弹窗了!
【jquery】ajax 请求成功后新开窗口被拦截解决方法相关推荐
- ajax请求 拦截窗口,ajax请求成功后新开窗口window.open()被拦截解决方法
ajax请求成功后新开窗口window.open()被拦截解决方法 问题: 前面开发项目时碰到一个问题,ajax 异步请求成功后需要新开窗口打开 url,使用的是 window.open() 方法,但 ...
- jQuery Ajax请求成功后,为什么一直在error函数里
今天遇到了一个奇怪的问题,用各种工具检查都能看到服务器端返回了200,数据也是正常的,但是$.ajax 始终进不到success,郁闷啊! 常见问题场景: 跨域: $.ajax 没设置 dataTyp ...
- ajax请求成功后打开新开窗口(window.open())被拦截的解决方法
问题:今天在做项目时需要在ajax请求成功后打开一个新的窗口,此时遇到浏览拦截了新窗口的问题,尝试在ajax 回调函数中模拟执行 click 或者 submit 等用户行为(trigger('clic ...
- 多个Ajax请求成功后再执行后续方法
经常会遇到需要ajax请求完毕后调用某方法,这次是多个ajax请求成功后,用它们返回的数据传参给回调方法,查询了一下,可以用jquery中的 $.when(),使用方法如下: $.when( $.aj ...
- Ajax请求成功后页面跳转
文章目录 Ajax实现页面局部刷新 Ajax请求成功后页面跳转 Ajax实现页面局部刷新 这里通过点击一个按钮,然后下面产生一段文字,而整个页面不用刷新 <!DOCTYPE html> & ...
- http-server swagger-editor启动成功后,访问404的解决方法
http-server swagger-editor启动成功后,访问404的解决方法 参考文章: (1)http-server swagger-editor启动成功后,访问404的解决方法 (2)ht ...
- ajax请求后新窗口打开,Ajax请求成功后打开新窗口地址
废话不多说,关键代码如下所示: jQuery.ajax({ "type":"post", "url":"http://www.ba ...
- ajax请求成功后location.href没有跳转
错误原因: 注意起来一个情况:ajax+submit+同步--就是你用ajax请求服务器,而且用的是同步的方式,并且你是通过点击了type类型为submit的按钮来触发这个ajax. 这个时候,首先你 ...
- ajax回调给全局变量,jquery.Ajax回调成功后数据赋值给全局变量的问题
先来看一代码ajax function checkoldpass($pass) { $.ajax({ type: 'get', url: '/admin/check', data: {'passwor ...
最新文章
- 美多商城之商品(准备商品数据 )、Dockers容器和FastDFS存储
- SpringCloud(第 003 篇)服务发现服务端EurekaServer微服务
- MySQL(九)插入、更新和删除
- windows操作系统,python环境下django的自动安装
- android 初学者实现 popupwindow的自动弹出,Android popupWindow弹出窗体实现方法分析
- 自由在博客里插入广告,有钱你不赚吗???
- dp HDU - 5074
- Aop 是面向切面编程,
- c语言汽车租赁系统实验报告,汽车租赁系统的c语言,数据结构的语言程序
- 华为NP课程笔记25-SDN简介
- win10 vs2010安装教程(超详细,附下载链接)
- 仿直播礼物涂鸦/屏幕礼物涂鸦动画
- 超级素数c语言,每个位都为素数
- QOS中 PQ,CQ.RR,WFQ,CBWFQ,LLQ区分
- jquery 立体走马灯_CSS3超酷3D文字跑马灯特效
- 大一下学期第十一周及以前学习总结
- 有关php地英语文章,实用英语短句-PHP教程,其它文章
- 诺基亚 and 微软,两只大象能否共舞?
- 数据结构与算法 经典题库练习
- 还在抠图?百万张PNG透明图片免费下载!
热门文章
- 【每周CV论文推荐】 初学深度学习人脸识别和验证必读文章
- 【每周CV论文推荐】 初学GAN必须要读的文章
- 【杂谈】来自一个懵懂青年的表白!
- 全球及中国装饰花盆行业消费规模与投资商机研究报告2022版
- 中国膏剂(膏方)行业运营模式及十四五前景预测报告2022年版
- vue移动端过渡动画_Vue.js实现微信过渡动画左右切换效果
- 世界农业巨头嘉吉-国际农民丰收节贸易会:解读与经验借鉴
- @RenderBody @RenderPage @RenderSection
- BZOJ.4738.[清华集训2016]汽水(点分治 分数规划)
- 自定义requestAnimationFrame帧频