Maison > interface Web > js tutoriel > Comment gérer l'interception lors de l'appel de window.open dans une requête ajax

Comment gérer l'interception lors de l'appel de window.open dans une requête ajax

php中世界最好的语言
Libérer: 2018-05-24 14:59:09
original
1875 Les gens l'ont consulté

Cette fois, je vais vous expliquer comment gérer l'interception de l'appel de window.open dans une requête ajax Quelles sont les précautions lors de la gestion de l'interception de l'appel de window.open. dans une requête ajax ? Voici ce qui suit : C'est un cas pratique, jetons-y un coup d'œil.

Description des avantages de cette méthode : Par exemple, si la fonction de rappel ajax échoue, le lien vide ouvert par défaut par le navigateur sera automatiquement fermé, offrant une meilleure expérience utilisateur.

 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(){}
        });
    });
Copier après la connexion
  • Analyse de la deuxième solution :

Cette méthode a été testée : Par exemple, qu'est-ce que Les retours en arrière-plan sont Pour les URL hors site, Google Chrome, le navigateur 360, etc. intercepteront les requêtes, mais pas les navigateurs Firefox et QQ. Il est prévu que le navigateur lui-même intercepte les URL hors site de ce type, et les URL ordinaires ne le feront pas. être intercepté ;

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

Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour un contenu plus passionnant, veuillez prêter attention aux autres articles liés au php chinois. site web!

Lecture recommandée :

Analyse de cas d'utilisation JSON et Math en JS

Explication détaillée des étapes de mise en œuvre de PromiseA+


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:
source:php.cn
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