美文网首页
ajax请求,重定向到一个新页面以及回调打开新窗体被拦截

ajax请求,重定向到一个新页面以及回调打开新窗体被拦截

作者: Cute_小肥鸡 | 来源:发表于2020-10-15 17:41 被阅读0次

打开一个新窗体,使用window.open(),它可以实现除用a标签以外来实现打开新窗口!但是,ajax回调打开新窗体,会被浏览器拦截,如何解决?

一般写法:

function click_fun(){ 

  window.open("www.baidu.com");//能打开

  $.ajax({ 
    url: window.contextPath+"session/IndexController",
    type: "POST",
    data: {"o_i":currentOrgID},
    success: function (data) { 
      window.open("www.baidu.com");//被拦截 
    },
  }); 
}

正确写法:

function click_fun(){ 

   var tempwindow=window.open();//先打开临时窗体,由于是点击事件内触发,不会被拦截 

  $.ajax({ 
    url: window.contextPath+"session/IndexController",
    type: "POST",
    data: {"o_i":currentOrgID},
    success: function (data) { 
      tempwindow.location = "www.baidu.com";//当回调的时候更改临时窗体的路径 
    }, 
    error:function(){ 
         tempwindow.close();//回调发现无需打开窗体时可以关闭之前的临时窗体 
    } 
  }); 
}

相关文章

  • ajax请求,重定向到一个新页面以及回调打开新窗体被拦截

    打开一个新窗体,使用window.open(),它可以实现除用a标签以外来实现打开新窗口!但是,ajax回调打开新...

  • jQuery.ajaxPrefilter() 函数使用

    $.ajaxPrefilter()函数用于指定预先处理Ajax参数选项的回调函数 ajax请求拦截器 每次发送...

  • window.open方法被浏览器拦截的处理方式

    问题现象   当我们在一个 ajax 回调中执行 window.open 方法时,新页面会被浏览器拦截。 原因  ...

  • axios处理window.open被拦截方案

    写代码的时候想在异步请求请求的成功后打开一个新页面,这时往往会被浏览器拦截,以前在使用jquery的$.ajax可...

  • 2019-06-17

    Ajax原理 创建对象 回调函数主体 初始化请求 发送请求 设定回调函数 经典方式 $.ajax({ url:"发...

  • Promise解析

    Promise使用场景 回调地狱:当你发送一个ajax请求,继而又需要请求一个ajax请求,并且此ajax请求参数...

  • Javascript中的回调地域,promise,面向对象(工厂

    回调地域: 与后台发生数据交互的时候,ajax的请求回调中还有一个或者是多个ajax请求,这样的现象就形成了回...

  • Ajax一些坑

    ajax回调函数重定向或者页面跳转,有些浏览器会被拦截。无法正常工作。特别是跨域跳转,60%的浏览器都不执行内部安...

  • promise原理及实现

    回调地域:上一个回调函数中继续做事情,而且继续回调(在真实项目的Ajax请求中经常出现回调地域),异步请求,不方便...

  • 微信小程序路由跳转的方式

    打开新的页面,(跳转新页面) 路由重定向,(重定向路由的地址) 页面返回 Tab 切换 关闭所有页面,打开到应用内...

网友评论

      本文标题:ajax请求,重定向到一个新页面以及回调打开新窗体被拦截

      本文链接:https://www.haomeiwen.com/subject/zaeopktx.html