Heim  >  Artikel  >  Web-Frontend  >  Effektive Methode zum Öffnen eines neuen Formulars mit Ajax-Rückruf, um das Abfangen des Browsers im Zusammenhang mit AJAX zu verhindern

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

亚连
亚连Original
2018-05-24 10:21:571550Durchsuche

In diesem Artikel wird hauptsächlich die effektive Methode zum Öffnen eines neuen Formulars mit Ajax-Rückruf zur Verhinderung des Browser-Abfangens vorgestellt.

Öffnen eines neuen Formulars mit Ajax-Rückruf zum Verhindern des Browser-Abfangens Es!

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

Analyse:
Neu öffnen Das Formular kann nur innerhalb eines Klickereignisses ausgelöst werden. Das Öffnen des Formulars innerhalb der Rückruffunktion innerhalb des Klickereignisses wird 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();//回调发现无需打开窗体时可以关闭之前的临时窗体 
    } 
  }); 
}

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属性更改后模拟点击 
  } 
}

Ich habe das Obige für Sie zusammengestellt und hoffe, dass es Ihnen in Zukunft hilfreich sein wird.

Verwandte Artikel:

Ein sehr praktisches Ajax-Benutzerregistrierungsmodul

Ajax-Klick zum kontinuierlichen Laden der Datenliste (Grafik). Tutorial)

Ajax+Struts2 implementiert die Verifizierungsfunktion für den Verifizierungscode (Bild- und Text-Tutorial)

Das obige ist der detaillierte Inhalt vonEffektive Methode zum Öffnen eines neuen Formulars mit Ajax-Rückruf, um das Abfangen des Browsers im Zusammenhang mit AJAX zu verhindern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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