ホームページ > 記事 > ウェブフロントエンド > Ajaxリクエストでのwindow.open呼び出しのインターセプトに対処する方法
今回は、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 サイト その他の 関連記事に注目してください。
推奨書籍:
以上がAjaxリクエストでのwindow.open呼び出しのインターセプトに対処する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。