【问题标题】:Yii2 abort request and sql queryYii2中止请求和sql查询
【发布时间】:2017-09-04 15:40:45
【问题描述】:

页面完全加载后,我向操作发出 ajax 请求。

在等待动作响应时(需要 2 或 3 秒),如果用户单击其他链接,我想中止先前的请求并立即终止 mysql 进程。

我该怎么做?

我试着这样做

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

//before unload page 
xhr.abort();

但我认为,它不会杀死 sql 进程。

【问题讨论】:

    标签: php mysql sql yii2


    【解决方案1】:

    制作一个命名的ajax。这里是ajx被命名

    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请求

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

    【讨论】:

    • 它停止了一个ajax请求,但mysql查询继续执行。 Mysql 查询没有在 ajx.abort() 上中止
    • 要停止你的mysql进程,你需要创建另一个ajax来从服务器端发出这个命令:stackoverflow.com/a/9938302/2815635
    • 好主意,但我无法发送另一个请求,直到前一个请求完成。
    猜你喜欢
    • 1970-01-01
    • 2021-06-12
    • 2018-05-07
    • 2013-06-17
    • 1970-01-01
    • 2017-03-28
    • 1970-01-01
    • 2015-07-16
    • 1970-01-01
    相关资源
    最近更新 更多