2017-09-04 7 views
0

ページが完全にロードされた後、私はアクションにajaxリクエストを行います。Yii2アボート要求とSQLクエリ

アクションからの応答(2〜3秒かかります)を待っている間に、ユーザーが他のリンクをクリックすると、直前の要求を中止して一度にmysqlプロセスを強制終了します。

どうすればいいですか?

それはSQLプロセスを強制終了しないことを、私はこの

var xhr = $.ajax({ 
/* 
params 
*/ 
}); 

//before unload page 
xhr.abort(); 

のように実行しようとしましたが、私は思います。

答えて

0

名前を付けてajaxを作成します。ここajxは、それは、Ajaxリクエストを停止しますが、MySQLのクエリが実行を継続し、ボタン

$("#button_id").click(function() { 
    ajx.abort(); 
}); 
+0

をクリックして

var formData = {};//Your data for post var ajx = $.ajax({ type: "POST",// Http verbs url: "filename.php",// file to request data: formData, success: function(response){ console.log("ajax completed"); console.log(response); } }); 

停止AJAXリクエストを命名されています。あなたがmysqlプロセスを停止するためにajx.abort() –

+0

で中断しないmysqlクエリは、サーバ側からこのコマンドを作るために別のajaxを作る必要があります:https://stackoverflow.com/a/9938302/2815635 – C2486

+0

良い考えですが、私は傾ける前のものが終了するまで別の要求を送る。 –