私は何かに苦しんでいます。
jQuery を使用して別のページへの ajax 呼び出しを行う PHP ページがあります$.ajax
。要求を非同期に処理ページに送信し、処理ページは応答を返します。
これは現在正常に機能していますが、バックエンドにいくつかの変更を加えており、実行される処理 (SQL ストアド プロシージャ) に 5 分以上かかるようになっています。SQL で 2 億件近くのレコードを処理しているため、待機は問題ありません。
問題は、リクエストを処理ページに送信できる必要があり、応答を待つ必要がないことです。処理ページは、次のように PHP のストアド プロシージャを起動します。
$query = $dbh2->prepare('exec sp_name :countID');
$query->bindParam('countID', $countID);
$query->execute();
ここでも、ストアド プロシージャの実行に時間がかかるため、その結果をユーザーに表示する必要はありません。ストアド プロシージャの後に実行する必要がある追加の PHP コードがいくつかありますが、ブラウザに送り返す必要はありません。
処理ページを呼び出してストアド プロシージャとその他のコードを実行する方法を見つけようとしていますが、ユーザーのブラウザは応答を待つ必要はありません。現在、ページをクリックしようとするのが早すぎると、基本的にブラウザがしばらくロックされ、処理が完了しません。
これについての洞察は素晴らしいでしょう。
助けてくれてありがとう。