Ajax打开新窗口被拦截时如何处理

这次给大家带来Ajax打开新窗口被拦截如何处理,处理Ajax打开新窗口被拦截的注意事项有哪些,下面就是实战案例,一起来看一下。

最近在做支付时发现打开支付窗口时被浏览器拦截了,百度了一下才发现是因为打开窗口前用ajax验证是否能支付,所以不是用户主动触发的打开ixin窗口,浏览器认为这样不安全,所以给拦截了。

解决办法一

先开始打开一个空的新窗口,然后改变新窗口的url,具体代码为

var wd = window.open();$.ajax({  type: "POST",  dataType: "json",  url: URL,  data: {orderNo:orderNo},  success: function(data) {    if(data.status=='success'){      wd.location.href = 'http://www.baidu.com';    }else{       alert('订单不能支付!');     }  },error: function(data) {    alert("正在加载请稍后!");  }});

登录后复制

这种实现方式有个弊端,就是不管ajax有没有成功,都会执行 var wd = window.open();这行代码,所以成功和失败都会打开一个新窗口,除非在失败后进行关闭,但这样用户体验会非常不好,所以我用的第二种方式去实现的。

解决办法二

因为ajax是默认是异步的,这样性能高,用户体验好,但这也导致了安全问题,要让浏览器认为弹出新窗口是安全的,必须让弹新窗口之前所有的ajax是同步的,具体代码为

$.ajax({  type: "POST",  dataType: "json",  url: URL,  async: false,//同步请求  data: {orderNo:orderNo},  success: function(data) {     if(data.status=='success'){       window.open("www.baidu.com");     }else{       alert('订单不能支付!');     }  },  error: function(data) {    alert("正在加载请稍后!");  }});

登录后复制

相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!

推荐阅读:

基于Ajax技术来实现无刷新用户登录(附代码)

AJAX实现不刷新登录

以上就是Ajax打开新窗口被拦截时如何处理的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2776023.html

(0)
上一篇 2025年3月8日 14:37:36
下一篇 2025年3月8日 14:37:46

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • Ajax进行文件与参数上传步奏详解

    这次给大家带来Ajax进行文件与参数上传步奏详解,Ajax进行文件与参数上传的注意事项有哪些,下面就是实战案例,一起来看一下。 文件上传: 记得前一段时间,为了研究Ajax文件上传,找了很多资料,在网上看到的大部分是form表单的方式提交文…

    编程技术 2025年3月8日
    000
  • Ajax提交参数时html标签提交失败如何处理

    这次给大家带来Ajax提交参数时html标签提交失败如何处理,处理Ajax提交参数时html标签提交失败的注意事项有哪些,下面就是实战案例,一起来看一下。 最近在公司做资源及文章上传功能遇到一个小问题,被坑了好半天。         该功能…

    编程技术 2025年3月8日
    200
  • Ajax提交表单页面后阻止刷新的方法

    这次给大家带来Ajax提交表单页面后阻止刷新的方法,Ajax提交表单页面后阻止刷新的注意事项有哪些,下面就是实战案例,一起来看一下。 注:使用ajax 提交表单时 type类型最好不用submit 用button合适 function fo…

    编程技术 2025年3月8日
    200
  • Ajax怎么操作post请求跳转页面

    这次给大家带来Ajax怎么操作post请求跳转页面,Ajax操作post请求跳转页面的注意事项有哪些,下面就是实战案例,一起来看一下。 最近因为公司需求,需要ajax post请求并跳转界面,网上搜了一下资料,差不多都是用window.lo…

    编程技术 2025年3月8日
    200
  • 在Lavarel框架中ajax需要怎么提交表单

    这次给大家带来在Lavarel框架中ajax需要怎么提交表单,在Lavarel框架中ajax提交表单的注意事项有哪些,下面就是实战案例,一起来看一下。 laravel简介: Laravel是一套简洁、优雅的PHP Web开发框架(PHP W…

    编程技术 2025年3月8日
    200
  • Ajax实现加载进度条的步奏详解

    这次给大家带来Ajax实现加载进度条的步奏详解,Ajax实现加载进度条的注意事项有哪些,下面就是实战案例,一起来看一下。 ajax beforeSend: 先说说这个 beforeSend, 在请求发送前执行 比如 可以判断用户有没有登录 …

    编程技术 2025年3月8日
    200
  • Ajax怎么做出关键字智能匹配搜索

    这次给大家带来Ajax怎么做出关键字智能匹配搜索,Ajax做出关键字智能匹配搜索的注意事项有哪些,下面就是实战案例,一起来看一下。 准备数据keyword.json:(这里只贴出部分数据) [ {“id”:1,”initial”:”ad”,…

    2025年3月8日
    200
  • 使用Ajax实现根据人力资源系统数据增加OA账号的方法

    这次给大家带来使用Ajax实现根据人力资源系统数据增加OA账号的方法,使用Ajax实现根据人力资源系统数据增加OA账号的的注意事项有哪些,下面就是实战案例,一起来看一下。 本次小飞鱼开发的程序主要解决某下属公司在人力系统中增加账号不能马上审…

    2025年3月8日
    200
  • ajax操作图层遮挡页面

    这次给大家带来ajax操作图层遮挡页面,ajax操作图层遮挡页面的注意事项有哪些,下面就是实战案例,一起来看一下。 前言 相信每位开发者都应该有所了解,当用户发出AJAX请求时,如果长时间处于请求阶段,而没有给出用户回应,会给用户造成错觉,…

    编程技术 2025年3月8日
    200
  • ajax跨域访问报错501怎么处理

    这次给大家带来ajax跨域访问报错501怎么处理,处理ajax跨域访问报错的注意事项有哪些,下面就是实战案例,一起来看一下。 问题:ajax跨域访问报错501 运行下面的代码会报错501 $.ajax({ type: “POST”, url…

    编程技术 2025年3月8日
    200

发表回复

登录后才能评论