ajax请求后新窗口打开,Ajax请求成功后打开新窗口地址
废话不多说,关键代码如下所示:
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请求成功后打开新窗口地址相关推荐
- 织梦ajax登录界面,dede织梦后台登陆成功后又跳转到登陆页面
dede织梦后台登陆成功后又跳转到登陆页面怎么办?相信在很多个人站长朋友们在dede建站运营中都有遇到过类似的问题,在登陆界面输入账号密码后会有3-5秒的卡顿才会进入下面的页面,然后再卡顿3-5秒就跳 ...
- MySQL后初次密码_mysql第一次安装成功后初始化密码操作步骤
把文件解压到一个目录下 这是解压后的目录 将my.ini文件考进去 双击打开my.ini 找到这两行更改成自己的解压路径保存 右键此电脑属性 找到高级系统设置配置环境变量 环境变量 新建 变量值是解压 ...
- c 中ajax不起作用,Jquery AJAX調用:$(this)在成功后不起作用
I am wondering why $(this) does not work after a jQuery ajax call. 我想知道為什么$(this)在jQuery ajax調用之后不起作 ...
- 解决闪讯连接成功后不能上网
解决闪讯连接成功后不能上网 闪讯连接成功后无法使用浏览器上网,但是微信可以登录使用,并出现以下界面 解决办法 打开 控制面板 - 网络和Internet - 网络和共享中心,点击左下角 Interne ...
- 拼多多竞价成功后多久有流量?万顿思教育
在拼多多上开店的人越来越多,这样店铺之间的竞争也越来越激烈,大家都想获取平台更多的流量,所以拼多多就让谋陷首页推荐变成了竞价的方式,那么如果你竞价成功后多久才会有流量呢?下面万顿思教育小编就来述说一下 ...
- 防止登录成功后重复刷新页面跳回登录页面
登录action:system/Syslogin/sysLogin.do public String sysLogin() { try { //验证码验证 String yzm = Struts2Ut ...
- PHP处理微信支付成功后的回调处理
PHP处理微信支付成功后的回调处理 微信支付成功后我们可通过设置的回调地址中来处理 public function wx_notify(){$xml = file_get_contents(" ...
- ajax请求成功后打开新开窗口(window.open())被拦截的解决方法
问题:今天在做项目时需要在ajax请求成功后打开一个新的窗口,此时遇到浏览拦截了新窗口的问题,尝试在ajax 回调函数中模拟执行 click 或者 submit 等用户行为(trigger('clic ...
- ajax请求 拦截窗口,ajax请求成功后新开窗口window.open()被拦截解决方法
ajax请求成功后新开窗口window.open()被拦截解决方法 问题: 前面开发项目时碰到一个问题,ajax 异步请求成功后需要新开窗口打开 url,使用的是 window.open() 方法,但 ...
最新文章
- 传潘石屹投资爱蜂潮 天猫不予评论
- 英语很差,可能不会阻止你成为一名程序员,但一定会限制你成为一名“优秀的”程序员...
- MySQLWorkbench注释
- Linux 源码安装 Python3 和 pip3
- angular1.x 中重要指令介绍($eval,$parse和$compile)
- JAVA语法——经典题目02
- 真正的Maven经常使用命令
- 安卓udp发包工具_Sendip 命令行发包工具,支持IP、TCP、UDP等
- CrossApp的环境配置教程Windowsmac
- java银行项目服务器代码_基于jsp的银行账户-JavaEE实现银行账户 - java项目源码
- org.apache.felix.http.jetty %bundles.pluginTitle: Cannot start (org.osgi.framework.BundleException:
- 北京剩女80万!全国十大单身男女盛产地都在哪?
- 深度卷积神经网络之AlexNet
- 天玥系列微型计算机,【简讯】AMD正式发布RX 6000系列显卡;OPPO K7x宣布…
- 计算机使用技巧大全 书,总算明白电脑使用技巧大全
- 2021用友YonSuite与创新企业共舞
- 华为起诉三星是中国企业改头换面的开始
- 【设计模式】的C语言的设计模式及其应用
- 【华为机试真题 Python】九宫格按键输入
- 如何在 Mac 和虚拟机上安装 macOS Big Sur、Monterey 和 Ventura