今回は、Ajax が新しいウィンドウを開いてインターセプトされた場合の対処方法を説明します。Ajax が新しいウィンドウを開いてインターセプトされた場合の注意事項について、実際のケースを見てみましょう。
最近、支払いをしているときに、支払いウィンドウを開くときにブラウザによってインターセプトされることがわかりました。それは、ウィンドウを開く前に支払いができるかどうかを確認するためにajaxが使用されていたためであることがわかりました。ユーザーが ixin ウィンドウを開くよう積極的にトリガーしなかったので、ブラウザーはこれが不適切であると判断し、インターセプトされました。 解決策 1まず空の新しいウィンドウを開き、次に新しいウィンドウの URL を変更します。具体的なコードは
var wd = window.open(); $.ajax({ type: "POST", dataType: "json", url: URL, data: {orderNo:orderNo}, success: function(data) { if(data.status=='success'){ wd.location.href = 'http://www.baidu.com'; }else{ alert('订单不能支付!'); } },error: function(data) { alert("正在加载请稍后!"); } });
ajax はデフォルトで非同期なので、パフォーマンスが高く、ユーザー エクスペリエンスが優れていますが、セキュリティの問題にもつながります。これにより、ブラウザーに新しいウィンドウのポップアップが安全であると認識させることができます。新しいウィンドウが同期される前に、すべての ajax を許可する必要があります。具体的なコードは
$.ajax({ type: "POST", dataType: "json", url: URL, async: false,//同步请求 data: {orderNo:orderNo}, success: function(data) { if(data.status=='success'){ window.open("www.baidu.com"); }else{ alert('订单不能支付!'); } }, error: function(data) { alert("正在加载请稍后!"); } });
Ajax テクノロジーに基づいて非リフレッシュ ユーザー ログインを実現する (コード付き)
以上がAjax が新しいウィンドウを開いてインターセプトされた場合の対処方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。