Heim > Web-Frontend > js-Tutorial > Hauptteil

Effektive Methode zum Öffnen eines neuen Formulars mit Ajax-Rückruf, um das Abfangen des Browsers zu verhindern

高洛峰
Freigeben: 2017-01-09 14:19:41
Original
1362 Leute haben es durchsucht

Der Ajax-Rückruf öffnet ein neues Formular, um das Abfangen des Browsers zu verhindern. Tun Sie dies einfach!

Problemanalyse:

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(){
  
    }
  });
}
Nach dem Login kopieren

Analyse:
Das Öffnen eines neuen Formulars kann nur innerhalb eines Klickereignisses ausgelöst werden innerhalb der Rückruffunktion geöffnet werden, werden abgefangen und der Browser geht davon aus, dass es sich um Code wie Werbe-Popups handelt

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

Lösung 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属性更改后模拟点击
  }
}
Nach dem Login kopieren

Die oben genannten Möglichkeiten sind zwei Möglichkeiten, ein neues Formular mit Ajax-Rückruf zu öffnen, um ein Abfangen durch den Browser zu verhindern nützlich für das Lernen aller.

Weitere Ajax-Rückrufe zum Öffnen neuer Formulare und wirksame Methoden zum Verhindern des Abfangens des Browsers finden Sie auf der chinesischen PHP-Website für verwandte Artikel!


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage