Ajax打开新窗口被浏览器拦截的两种解决办法
发布时间 - 2026-01-10 22:19:16 点击率:次最近在做支付时发现打开支付窗口时被浏览器拦截了,百度了一下才发现是因为打开窗口前用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请求响应中用window.open打开新窗口被拦截的解决方法
# Ajax请求成功后打开新窗口地址
# ajax怎么打开新窗口具体如何实现
# 解决办法
# 小编
# 正在加载
# 请稍后
# 是因为
# 有个
# 在此
# 两种
# 这也
# 我用
# 给大家
# 才发现
# 弹出
# 要让
# 所述
# 第二种
# 不安全
# 是否能
# 给我留言
# 感谢大家
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】
如何在新浪SAE免费搭建个人博客?
使用豆包 AI 辅助进行简单网页 HTML 结构设计
JS中页面与页面之间超链接跳转中文乱码问题的解决办法
Laravel如何配置任务调度?(Cron Job示例)
Laravel storage目录权限问题_Laravel文件写入权限设置
Laravel如何使用Vite进行前端资源打包?(配置示例)
android nfc常用标签读取总结
如何在阿里云购买域名并搭建网站?
Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】
如何快速搭建虚拟主机网站?新手必看指南
Laravel的路由模型绑定怎么用_Laravel Route Model Binding简化控制器逻辑
Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权
今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】
Laravel如何使用软删除(Soft Deletes)功能_Eloquent软删除与数据恢复方法
高性能网站服务器配置指南:安全稳定与高效建站核心方案
zabbix利用python脚本发送报警邮件的方法
JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)
Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验
ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法
js实现获取鼠标当前的位置
Python3.6正式版新特性预览
北京的网站制作公司有哪些,哪个视频网站最好?
如何快速上传自定义模板至建站之星?
Laravel怎么配置不同环境的数据库_Laravel本地测试与生产环境动态切换【方法】
Laravel如何配置和使用缓存?(Redis代码示例)
高防服务器租用首荐平台,企业级优惠套餐快速部署
Win11应用商店下载慢怎么办 Win11更改DNS提速下载【修复】
Laravel如何设置自定义的日志文件名_Laravel根据日期或用户ID生成动态日志【技巧】
JavaScript Ajax实现异步通信
高防服务器租用指南:配置选择与快速部署攻略
厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?
Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧
Win11怎么修改DNS服务器 Win11设置DNS加速网络【指南】
如何快速完成中国万网建站详细流程?
Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门
Bootstrap整体框架之JavaScript插件架构
美食网站链接制作教程视频,哪个教做美食的网站比较专业点?
北京企业网站设计制作公司,北京铁路集团官方网站?
Laravel怎么集成Vue.js_Laravel Mix配置Vue开发环境
阿里云网站搭建费用解析:服务器价格与建站成本优化指南
Laravel如何使用Scope本地作用域_Laravel模型常用查询逻辑封装技巧【手册】
东莞市网站制作公司有哪些,东莞找工作用什么网站好?
如何在阿里云完成域名注册与建站?
python中快速进行多个字符替换的方法小结
微信小程序 配置文件详细介绍
公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?
Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives
利用python获取某年中每个月的第一天和最后一天
实现点击下箭头变上箭头来回切换的两种方法【推荐】

