ホームページ  >  記事  >  ウェブフロントエンド  >  Ajaxリクエストでのwindow.open呼び出しのインターセプトに対処する方法

Ajaxリクエストでのwindow.open呼び出しのインターセプトに対処する方法

php中世界最好的语言
php中世界最好的语言オリジナル
2018-05-24 14:59:091816ブラウズ

今回は、ajaxリクエストでのwindow.open呼び出しのインターセプトへの対処方法についてお届けします。 以下は、ajaxリクエストでのwindow.open呼び出しのインターセプトを処理する際の注意事項です。ケース、見てみましょう。

この方法の利点の説明: たとえば、ajaxコールバック関数が失敗した場合、デフォルトでブラウザによって開かれた空のリンクは自動的に閉じられ、ユーザーエクスペリエンスが向上します。

 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(){}
        });
    });
  • 2 番目の解決策の分析:

このメソッドはテスト済みです: たとえば、バックグラウンドがオフサイト URL を返した場合、Google Chrome、360 ブラウザなどがリクエストをインターセプトし、Firefox , QQ ブラウザ このタイプのオフサイト URL はブラウザ自体が傍受されないと予測されており、通常の URL は傍受されません

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

この記事の事例を読んだ後、あなたはその方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイト その他の 関連記事に注目してください。

推奨書籍:

JS での JSON および Math ユースケース分析

PromiseA+


の実装手順の詳細な説明

以上がAjaxリクエストでのwindow.open呼び出しのインターセプトに対処する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。