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
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)
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!