Maison > interface Web > js tutoriel > 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中世界最好的语言
Libérer: 2018-04-04 15:40:24
original
1776 Les gens l'ont consulté

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

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

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属性更改后模拟点击 
  } 
}
Copier après la connexion

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!

Étiquettes associées:
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