Maison  >  Article  >  interface Web  >  Méthode efficace pour ouvrir un nouveau formulaire avec rappel ajax pour empêcher l'interception du navigateur

Méthode efficace pour ouvrir un nouveau formulaire avec rappel ajax pour empêcher l'interception du navigateur

高洛峰
高洛峰original
2017-01-09 14:19:411371parcourir

Le rappel Ajax ouvre un nouveau formulaire pour empêcher l'interception du navigateur, faites simplement ceci !

Analyse du problème :

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(){
  
    }
  });
}

Analyse :
L'ouverture d'un nouveau formulaire ne peut être déclenchée que lors d'un événement de clic sur le formulaire. ouvert dans la fonction de rappel sera intercepté et le navigateur pensera qu'il s'agit d'un code tel que des pop-ups publicitaires

Solution 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();//回调发现无需打开窗体时可以关闭之前的临时窗体
    }
  });
}

Solution 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属性更改后模拟点击
  }
}

Voici deux façons d'ouvrir un nouveau formulaire avec un rappel ajax pour empêcher l'interception du navigateur, j'espère que ce sera le cas. utile pour l'apprentissage de chacun.

Pour plus de rappels ajax pour ouvrir de nouveaux formulaires et des méthodes efficaces pour empêcher l'interception du navigateur, veuillez faire attention au site Web PHP chinois pour les articles connexes !


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn