ajax abort不起作用

时间:2016-09-29 11:37:39

标签: jquery 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);
        },
    });
});

它没有在控制台中显示任何错误,但没有中止先前的请求。我也试过这个:

beforeSend: function() {
        if (previous_request != null) {
            previous_request.abort();
        }

这也行不通。

1 个答案:

答案 0 :(得分:2)

var previous_request;移至.on功能之外。你定义了错误的地方,所以它总是空的。

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

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