Jquery ajax中止不起作用

Jquery ajax中止不起作用,jquery,ajax,Jquery,Ajax,我想在启动新的ajax请求时中止以前的ajax请求。我正在使用这段代码,但它不起作用 <?php $urlToFetchPrice = 'getShippingAmount.php'; ?> var $wk_jq = jQuery.noConflict(); $wk_jq('#weight').on('input', function() { var $this = $wk_jq(this); var $element = $wk_jq(this.element);

我想在启动新的ajax请求时中止以前的ajax请求。我正在使用这段代码,但它不起作用

<?php $urlToFetchPrice = 'getShippingAmount.php'; ?>
var $wk_jq = jQuery.noConflict();
$wk_jq('#weight').on('input', function() {
    var $this = $wk_jq(this);
    var $element = $wk_jq(this.element);
    var previous_request;
    if (previous_request) {
        previous_request.abort();
    }
    previous_request = $wk_jq.ajax({
        url: "<?=$urlToFetchPrice?>",
        data: {
            weight: $this.val(),
            country: 'BH'
        },
        type: "POST",
        dataType: "json",
        format
        success: function(data) {
            console.log(data);
        },
    });
});

这也不起作用。

var移动到上一个请求
功能上,将代码>转到
之外。您将其定义为错误的位置,因此它将始终为空

您也可以
console.log
/调试它,以检查它是否有价值

var previous_request;
$wk_jq('#weight').on('input', function() {
   //.....
});

var移动到上一个\u请求
功能上,将代码>转到
之外。您将其定义为错误的位置,因此它将始终为空

您也可以
console.log
/调试它,以检查它是否有价值

var previous_request;
$wk_jq('#weight').on('input', function() {
   //.....
});

请注意,它将在客户端而不是服务器端中止它。您最好对输入事件进行一点去抖动处理,以避免对每个输入调用新请求,尽管您(尝试)中止任何以前的请求。请注意,它将中止客户端而不是服务器端。您最好稍微取消输入事件的抖动,以避免在每次输入时调用新请求,尽管您(尝试)中止了以前的任何一个请求