Maison > interface Web > js tutoriel > Méthode efficace pour ouvrir un nouveau formulaire avec rappel ajax pour empêcher l'interception du navigateur_lié à AJAX

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

亚连
Libérer: 2018-05-24 10:21:57
original
1605 Les gens l'ont consulté

Cet article présente principalement en détail la méthode efficace pour ouvrir un nouveau formulaire avec un rappel ajax pour empêcher l'interception du navigateur. Les amis intéressés peuvent se référer à

ouvrir un nouveau formulaire avec un rappel ajax pour empêcher l'interception du navigateur. il!

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(){ 
 
    } 
  }); 
}
Copier après la connexion

Analyse :
L'ouverture d'un nouveau formulaire ne peut être déclenchée que lors d'un événement de clic. L'ouverture du formulaire dans la fonction de rappel au sein de l'événement de clic sera interceptée 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({ 
    &#39;url&#39;: &#39;${pageContext.request.contextPath}/activity/savePrizes.htm&#39;, 
    &#39;type&#39;: &#39;post&#39;, 
    &#39;dataType&#39;: &#39;json&#39;, 
    &#39;data&#39;: data, 
    success: function (data) { 
      tempwindow.location = "www.baidu.com";//当回调的时候更改临时窗体的路径 
    }, 
    error:function(){ 
      tempwindow.close();//回调发现无需打开窗体时可以关闭之前的临时窗体 
    } 
  }); 
}
Copier après la connexion

Solution 2 :

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

Ce qui précède est ce que j'ai compilé pour vous. J'espère qu'il vous sera utile à l'avenir.

Articles associés :

Un module d'enregistrement des utilisateurs ajax très pratique

Cliquez Ajax pour charger en continu la liste des données (graphique tutoriel)

Ajax+Struts2 implémente la fonction de vérification du code de vérification (tutoriel image et texte)

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal