Heim >Web-Frontend >js-Tutorial >Umgang mit Abfangen beim Aufruf von window.open in einer Ajax-Anfrage
Dieses Mal erkläre ich Ihnen, wie Sie mit dem Abfangen des Aufrufs von window.open in einer Ajax-Anfrage umgehen. Was sind die Vorsichtsmaßnahmen beim Umgang mit dem Abfangen des Aufrufs von window.open? in einer Ajax-Anfrage? Das Folgende ist ein praktischer Fall, schauen wir uns ihn an.
Beschreibung der Vorteile dieser Methode: Wenn beispielsweise die Ajax-Rückruffunktion fehlschlägt, wird der vom Browser standardmäßig geöffnete leere Link automatisch geschlossen, was eine bessere Benutzererfahrung bietet.
var newwin; $("#btn").click(function(){ newwim = window.open(); //此处调用ajax,异步即可: $.ajax({ type:'POST', url: ajaxurl, dataType : 'json', data:parameter, beforeSend : function(){}, success:function(data) { if(data.TSR_CODE == "0"){ newwin.location.href = xxx;//xxx为后端返回的地址; }else{ alert(data.TSR_MSG); newwin.close();//此处为ajax失败方法,自动关闭刚才会打开的页面; } }, error:function(){ console.log("访问出错,请重试!"); }, complete:function(){} }); });
Analyse der zweiten Lösung:
Diese Methode wurde getestet: Beispielsweise gibt der Hintergrund eine zurück Off-Site Für URLs fangen Google Chrome, 360 Browser usw. Anfragen ab, Firefox- und QQ-Browser jedoch nicht. Es wird vorhergesagt, dass der Browser selbst Off-Site-URLs dieses Typs abfängt und normale URLs nicht abgefangen werden.
$("#btn").click(function(){ //此处调用ajax,异步即可: $.ajax({ type:'POST', url: ajaxurl, dataType : 'json', async:false,//改为同步请求 data:parameter, beforeSend : function(){}, success:function(data) { if(data.TSR_CODE == "0"){ window.open(xxx); }else{ alert(data.TSR_MSG); } }, error:function(){ console.log("访问出错,请重试!"); }, complete:function(){} });
Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie auf der chinesischen PHP-Websiteandere verwandte Artikel!
Empfohlene Lektüre:
JSON- und Mathe-Anwendungsfallanalyse in JS
Detaillierte Erläuterung der Implementierungsschritte von PromiseA+
Das obige ist der detaillierte Inhalt vonUmgang mit Abfangen beim Aufruf von window.open in einer Ajax-Anfrage. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!