废话不多说,关键代码如下所示:

jQuery.ajax({

"type":"post",

"url":"http://www.baidu.com",

"success":function(rel){

if(rel.isSuccess){

window.open(rel.url,"_blank");

}

}

});

这个url请求成功后window.open(rel.url,"_blank");会被浏览器拦截,无法打开新窗口,如果把window.open()放在ajax外面,问题就迎刃而解,代码如下:

var result="";

jQuery.ajax({

"type":"post",

"url":"http://www.baidu.com",

"success":function(rel){

if(rel.isSuccess){

result=rel.url;

//window.open(rel.url,"_blank");

}

}

});

if(result.length>0){

window.open(result,"_blank");

}

下面看下在Ajax响应之后打开新窗口

最近的开发中有一个功能,点击一个链接之后,要判断当前的用户是否登录,没有登录的话,需要弹出一个登录对话框,用户登录之后,再在新的窗口(标签)中打开链接指向的Url。

不多说,直接贴出代码:

$(document).delegate("a", "click", function () {

var actionUrl = $(this).attr("href");

var ssoAction = function () { window.open(actionUrl, '_blank'); };

if (isLogin()) {

ssoAction();

} else {

popup.show({login:function () {

$.ajax({

type: "post",

dataType: "json",

url: "/Account/Login",

data: $("frmLogin").serialize(),

//发送方式改为同步,避免弹出页面被浏览器拦截

async: false,

success: function (oData) {

ssoAction();

}

});

});

}

return false;

});

重点:需要使用同步提交,使用异步提交,callback里面打开新窗口(标签),会被浏览器认为是恶意行为。

时间: 2016-08-01

ajax请求后新窗口打开,Ajax请求成功后打开新窗口地址相关推荐

  1. 织梦ajax登录界面,dede织梦后台登陆成功后又跳转到登陆页面

    dede织梦后台登陆成功后又跳转到登陆页面怎么办?相信在很多个人站长朋友们在dede建站运营中都有遇到过类似的问题,在登陆界面输入账号密码后会有3-5秒的卡顿才会进入下面的页面,然后再卡顿3-5秒就跳 ...

  2. MySQL后初次密码_mysql第一次安装成功后初始化密码操作步骤

    把文件解压到一个目录下 这是解压后的目录 将my.ini文件考进去 双击打开my.ini 找到这两行更改成自己的解压路径保存 右键此电脑属性 找到高级系统设置配置环境变量 环境变量 新建 变量值是解压 ...

  3. c 中ajax不起作用,Jquery AJAX調用:$(this)在成功后不起作用

    I am wondering why $(this) does not work after a jQuery ajax call. 我想知道為什么$(this)在jQuery ajax調用之后不起作 ...

  4. 解决闪讯连接成功后不能上网

    解决闪讯连接成功后不能上网 闪讯连接成功后无法使用浏览器上网,但是微信可以登录使用,并出现以下界面 解决办法 打开 控制面板 - 网络和Internet - 网络和共享中心,点击左下角 Interne ...

  5. 拼多多竞价成功后多久有流量?万顿思教育

    在拼多多上开店的人越来越多,这样店铺之间的竞争也越来越激烈,大家都想获取平台更多的流量,所以拼多多就让谋陷首页推荐变成了竞价的方式,那么如果你竞价成功后多久才会有流量呢?下面万顿思教育小编就来述说一下 ...

  6. 防止登录成功后重复刷新页面跳回登录页面

    登录action:system/Syslogin/sysLogin.do public String sysLogin() { try { //验证码验证 String yzm = Struts2Ut ...

  7. PHP处理微信支付成功后的回调处理

    PHP处理微信支付成功后的回调处理 微信支付成功后我们可通过设置的回调地址中来处理 public function wx_notify(){$xml = file_get_contents(" ...

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

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

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

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

最新文章

  1. 传潘石屹投资爱蜂潮 天猫不予评论
  2. 英语很差,可能不会阻止你成为一名程序员,但一定会限制你成为一名“优秀的”程序员...
  3. MySQLWorkbench注释
  4. Linux 源码安装 Python3 和 pip3
  5. angular1.x 中重要指令介绍($eval,$parse和$compile)
  6. JAVA语法——经典题目02
  7. 真正的Maven经常使用命令
  8. 安卓udp发包工具_Sendip 命令行发包工具,支持IP、TCP、UDP等
  9. CrossApp的环境配置教程Windowsmac
  10. java银行项目服务器代码_基于jsp的银行账户-JavaEE实现银行账户 - java项目源码
  11. org.apache.felix.http.jetty %bundles.pluginTitle: Cannot start (org.osgi.framework.BundleException:
  12. 北京剩女80万!全国十大单身男女盛产地都在哪?
  13. 深度卷积神经网络之AlexNet
  14. 天玥系列微型计算机,【简讯】AMD正式发布RX 6000系列显卡;OPPO K7x宣布…
  15. 计算机使用技巧大全 书,总算明白电脑使用技巧大全
  16. 2021用友YonSuite与创新企业共舞
  17. 华为起诉三星是中国企业改头换面的开始
  18. 【设计模式】的C语言的设计模式及其应用
  19. 【华为机试真题 Python】九宫格按键输入
  20. 如何在 Mac 和虚拟机上安装 macOS Big Sur、Monterey 和 Ventura

热门文章

  1. 2022牛客多校2题解报告(同步自语雀)
  2. java计算机毕业设计洁能租车源码+mysql数据库+系统+lw文档+部署
  3. ==和equals的基本注意事项
  4. 【CSS】如何实现价格文字中间划一条线
  5. 通过wlanapi连接无线网络
  6. [趣谈网络协议学习] 03 DHCP与PXE:IP是怎么来的, 又是怎么没的?
  7. g-sync显示器到底能提升多少游戏性能?
  8. 【LeetCode】老虎证券面试-括号嵌套且满足优先级
  9. Android: 进程保活
  10. 如何给未签收物流备注信息