Jquery ajax中止不起作用
我想在启动新的ajax请求时中止以前的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);
<?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() {
//.....
});
请注意,它将在客户端而不是服务器端中止它。您最好对输入事件进行一点去抖动处理,以避免对每个输入调用新请求,尽管您(尝试)中止任何以前的请求。请注意,它将中止客户端而不是服务器端。您最好稍微取消输入事件的抖动,以避免在每次输入时调用新请求,尽管您(尝试)中止了以前的任何一个请求