Maison  >  Article  >  interface Web  >  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

亚连
亚连original
2018-05-24 10:21:571551parcourir

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

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({ 
    '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 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!

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