问题:

前面开发项目时碰到一个问题,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 请求成功后新开窗口被拦截解决方法相关推荐

  1. ajax请求 拦截窗口,ajax请求成功后新开窗口window.open()被拦截解决方法

    ajax请求成功后新开窗口window.open()被拦截解决方法 问题: 前面开发项目时碰到一个问题,ajax 异步请求成功后需要新开窗口打开 url,使用的是 window.open() 方法,但 ...

  2. jQuery Ajax请求成功后,为什么一直在error函数里

    今天遇到了一个奇怪的问题,用各种工具检查都能看到服务器端返回了200,数据也是正常的,但是$.ajax 始终进不到success,郁闷啊! 常见问题场景: 跨域: $.ajax 没设置 dataTyp ...

  3. ajax请求成功后打开新开窗口(window.open())被拦截的解决方法

    问题:今天在做项目时需要在ajax请求成功后打开一个新的窗口,此时遇到浏览拦截了新窗口的问题,尝试在ajax 回调函数中模拟执行 click 或者 submit 等用户行为(trigger('clic ...

  4. 多个Ajax请求成功后再执行后续方法

    经常会遇到需要ajax请求完毕后调用某方法,这次是多个ajax请求成功后,用它们返回的数据传参给回调方法,查询了一下,可以用jquery中的 $.when(),使用方法如下: $.when( $.aj ...

  5. Ajax请求成功后页面跳转

    文章目录 Ajax实现页面局部刷新 Ajax请求成功后页面跳转 Ajax实现页面局部刷新 这里通过点击一个按钮,然后下面产生一段文字,而整个页面不用刷新 <!DOCTYPE html> & ...

  6. http-server swagger-editor启动成功后,访问404的解决方法

    http-server swagger-editor启动成功后,访问404的解决方法 参考文章: (1)http-server swagger-editor启动成功后,访问404的解决方法 (2)ht ...

  7. ajax请求后新窗口打开,Ajax请求成功后打开新窗口地址

    废话不多说,关键代码如下所示: jQuery.ajax({ "type":"post", "url":"http://www.ba ...

  8. ajax请求成功后location.href没有跳转

    错误原因: 注意起来一个情况:ajax+submit+同步--就是你用ajax请求服务器,而且用的是同步的方式,并且你是通过点击了type类型为submit的按钮来触发这个ajax. 这个时候,首先你 ...

  9. ajax回调给全局变量,jquery.Ajax回调成功后数据赋值给全局变量的问题

    先来看一代码ajax function checkoldpass($pass) { $.ajax({ type: 'get', url: '/admin/check', data: {'passwor ...

最新文章

  1. 美多商城之商品(准备商品数据 )、Dockers容器和FastDFS存储
  2. SpringCloud(第 003 篇)服务发现服务端EurekaServer微服务
  3. MySQL(九)插入、更新和删除
  4. windows操作系统,python环境下django的自动安装
  5. android 初学者实现 popupwindow的自动弹出,Android popupWindow弹出窗体实现方法分析
  6. 自由在博客里插入广告,有钱你不赚吗???
  7. dp HDU - 5074
  8. Aop 是面向切面编程,
  9. c语言汽车租赁系统实验报告,汽车租赁系统的c语言,数据结构的语言程序
  10. 华为NP课程笔记25-SDN简介
  11. win10 vs2010安装教程(超详细,附下载链接)
  12. 仿直播礼物涂鸦/屏幕礼物涂鸦动画
  13. 超级素数c语言,每个位都为素数
  14. QOS中 PQ,CQ.RR,WFQ,CBWFQ,LLQ区分
  15. jquery 立体走马灯_CSS3超酷3D文字跑马灯特效
  16. 大一下学期第十一周及以前学习总结
  17. 有关php地英语文章,实用英语短句-PHP教程,其它文章
  18. 诺基亚 and 微软,两只大象能否共舞?
  19. 数据结构与算法 经典题库练习
  20. 还在抠图?百万张PNG透明图片免费下载!

热门文章

  1. 【每周CV论文推荐】 初学深度学习人脸识别和验证必读文章
  2. 【每周CV论文推荐】 初学GAN必须要读的文章
  3. 【杂谈】来自一个懵懂青年的表白!
  4. 全球及中国装饰花盆行业消费规模与投资商机研究报告2022版
  5. 中国膏剂(膏方)行业运营模式及十四五前景预测报告2022年版
  6. vue移动端过渡动画_Vue.js实现微信过渡动画左右切换效果
  7. 世界农业巨头嘉吉-国际农民丰收节贸易会:解读与经验借鉴
  8. @RenderBody @RenderPage @RenderSection
  9. BZOJ.4738.[清华集训2016]汽水(点分治 分数规划)
  10. 自定义requestAnimationFrame帧频