私は PHP/jQuery を使用しており、次のシナリオがあります。
site1.php
別のサイト ( )を指すリンクを持つサイト ( ) がsite2.php
あります。また、このリンクに、別のサイト ( ) を要求する jQuery を使用した ajax-onclick-event を追加しましたajaxcall.php
。この他のサイトには、やるべきことが「たくさんある」ので、短い依頼ではありません。
私の目標は: リクエストをajaxcall.php
バックグラウンド (非同期) に設定し、すぐに に移動しsite2.php
ます。( の返事はいらないajaxcall.php
)
私の最初の実装は次のようなものでした:
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#link").on("click",function(){
$.get('./ajaxcall.php');
</script>
</head>
<body>
<a href="./file2.php" id="link">link</a>
</body>
</html>
明らかにこれはうまくいきません。ajax-request (非同期) は、ページが変更されるとすぐに中止されるためです。
したがって、私が見る限り、ここには2つの可能性があります。
リクエストを同期させ、読み込みインジケーターを表示します (
$.ajax({url: './ajaxcall.php',async:false});
)
--> デメリット:完了file2.php
する前に開かないajaxcall.php
。ポップアップ (
window.open('ajaxcall.php')
) を開き、synchron-ajax-request / またはそれに類似したものを作成し、その後自動的に閉じる --> 利点:file2.php
ほとんどすぐに開く必要がある --> (大きな)欠点: ポップアップ??? より良い方法???
私が達成しようとしていること、そしてあなたが私を助けてくれることをあなたが理解してくれることを願っています:)