ajax回调打开新窗体防止浏览器拦截有效方法

 更新时间:2016年05月07日 19:59:44   作者:Elong_Deo  
这篇文章主要为大家详细介绍了ajax回调打开新窗体防止浏览器拦截的有效方法,感兴趣的朋友可以参考一下

ajax回调打开新窗体防止浏览器拦截,就这么做!

问题剖析:

function click_fun(){ 
   window.open("www.baidu.com");//能打开 
  $.ajax({ 
    'url': '${pageContext.request.contextPath}/activity/savePrizes.htm', 
    'type': 'post', 
    'dataType': 'json', 
    'data': data, 
    success: function (data) { 
      window.open("www.baidu.com");//被拦截 
    }, 
    error:function(){ 
 
    } 
  }); 
} 

分析:
打开新窗体只能在点击事件内触发,点击事件内的回调函数内打开窗体会被拦截,浏览器会认为是广告弹窗之类的代码

解决1:

function click_fun_new(){ 
  var tempwindow=window.open();//先打开临时窗体,由于是点击事件内触发,不会被拦截 
  $.ajax({ 
    'url': '${pageContext.request.contextPath}/activity/savePrizes.htm', 
    'type': 'post', 
    'dataType': 'json', 
    'data': data, 
    success: function (data) { 
      tempwindow.location = "www.baidu.com";//当回调的时候更改临时窗体的路径 
    }, 
    error:function(){ 
      tempwindow.close();//回调发现无需打开窗体时可以关闭之前的临时窗体 
    } 
  }); 
} 

解决2:

function click_fun_new(){ 
  var flag = false; 
  $.ajax({ 
    'url': '${pageContext.request.contextPath}/activity/savePrizes.htm', 
    'type': 'post', 
    'dataType': 'json', 
    'data': data, 
    'async':false,//同步请求 
    success: function (data) { 
      $("#a").attr("href","www.baidu.com");//当回调的时候更改页面上或创建的某个a标签的href 
      flag = true;//更改标志 
    }, 
    error:function(){ 
       
    } 
  }); 
  if(flag){ 
    $("#a").click();//href属性更改后模拟点击 
  } 
} 

以上就是ajax回调打开新窗体防止浏览器拦截的两种方法,希望对大家的学习有所帮助。

相关文章

  • $.ajax传JSON数据到后台出现报错问题解决

    $.ajax传JSON数据到后台出现报错问题解决

    $.ajax传JSON数据到后台时总会出现一些错误,本文整理了一些注意事项,感兴趣的朋友可以参考下
    2014-01-01
  • Axios和Ajax的区别是什么(详细介绍)

    Axios和Ajax的区别是什么(详细介绍)

    ajax技术实现了局部数据的刷新,axios实现了对ajax的封装,axios有的ajax都有,ajax有的axios不一定有,总结一句话就是axios是ajax,ajax不止axios,本文对Axios和Ajax的区别是什么给大家讲解的非常详细,需要的朋友一起看看吧
    2023-10-10
  • AJAX提交与FORM提交的区别说明

    AJAX提交与FORM提交的区别说明

    本篇文章主要是对AJAX提交与FORM提交的区别进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2014-02-02
  • ajax实现加载数据功能

    ajax实现加载数据功能

    这篇文章主要为大家详细介绍了ajax实现加载数据功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • ajax接口文档url路径的简写实例

    ajax接口文档url路径的简写实例

    前端工程师将来打交道最多的是Http API接口,此种接口会提供一个URL地址暴露在互联网上,可以通过编写Ajax代码去与之交互来完成功能,下面这篇文章主要给大家介绍了关于ajax接口文档url路径简写的相关资料,需要的朋友可以参考下
    2021-10-10
  • bootstrap select2 动态从后台Ajax动态获取数据的代码

    bootstrap select2 动态从后台Ajax动态获取数据的代码

    这篇文章主要介绍了bootstrap select2 动态从后台Ajax动态获取数据的代码,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12
  • JavaScript实现Ajax总结

    JavaScript实现Ajax总结

    ajax应用非常普及,ajax的优点大家都知道,具体就不多说了,其缺点还真不少,比如破坏浏览器的back功能,同一个url打开的界面并不是完全相同,还有安全性能等方面,至于有这么多的缺点,也阻止不了大家使用ajax的步伐,下文给大家分享javascript实现ajax小结吧
    2015-10-10
  • Ajax发送和接收请求

    Ajax发送和接收请求

    这篇文章主要为大家详细介绍了Ajax发送和接收请求的相关资料,感兴趣的小伙伴们可以参考一下
    2016-02-02
  • 反向Ajax 30分钟快速掌握

    反向Ajax 30分钟快速掌握

    这篇文章主要介绍了反向Ajax 30分钟快速掌握的相关资料,需要的朋友可以参考下
    2016-07-07
  • AJAX应用中必须要掌握的重点知识(分享)

    AJAX应用中必须要掌握的重点知识(分享)

    下面小编就为大家带来一篇AJAX应用中必须要掌握的重点知识(分享)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-08-08

最新评论