2017-09-04 49 views
0

頁面完全加載後,我對操作發出ajax請求。在等待響應(需要2到3秒)的同時,如果用戶點擊其他鏈接,我想中止以前的請求並立即終止mysql進程。Yii2中止請求和sql查詢

我該怎麼做?

我試圖做這樣的

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

//before unload page 
xhr.abort(); 

但我認爲,它不會殺死SQL過程。

回答

0

製作一個名爲ajax。這裏是ajx通過點擊按鈕

$("#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請求它停止一個Ajax請求,但MySQL查詢繼續執行。在ajx.abort() –

+0

上停止你的mysql進程的mysql查詢不會中止,你需要使另一個ajax從服務器端發出這個命令:https://stackoverflow.com/a/9938302/2815635 – C2486

+0

好主意,但我不能發送另一個請求,直到前一個完成。 –