美文网首页
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请求,重定向到一个新页面以及回调打开新窗体被拦截

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