Maison  >  Article  >  interface Web  >  Comment éviter d'être intercepté par le navigateur lors de l'ouverture d'un nouveau formulaire avec rappel ajax

Comment éviter d'être intercepté par le navigateur lors de l'ouverture d'un nouveau formulaire avec rappel ajax

php中世界最好的语言
php中世界最好的语言original
2018-04-04 15:40:241682parcourir

Cette fois, je vais vous montrer comment éviter d'être intercepté par le navigateur lors de l'ouverture d'un nouveau formulaire avec rappel ajax. Quelles sont les précautions ?  ? Voici le combat réel. Jetons un coup d'œil au cas.

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 se faire qu'en cliquant sur l'événement Déclenché lors de l'événement de clic, 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属性更改后模拟点击 
  } 
}

Ce qui précède est le rappel ajax pour ouvrir un nouveau formulaire pour empêcher l'ouverture du navigateur. Il existe deux méthodes d'interception, j'espère que cela sera utile à l'apprentissage de chacun.

Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php !

Lecture recommandée :

Jsonp résout le problème inter-domaines d'ajax

Comment JSONP gère-t-il l'inter-domaine accès de l'Ajax

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

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