单击按钮时,会调用一个函数,在该函数中调用并执行 ajax 请求。理论上,还有另一个按钮应该重置此请求以及在成功/失败的情况下发生的所有事情。
let xhr;
$(document).on('click', '.object-item', function (e) {
constructAppartmentModal($(e.target).closest('.object-item').attr('data-id-apartment'));
});
function constructAppartmentModal(id) {
destructAppartmentModal();
dataRequest = {
idAppartment: id
};
dataRequest = JSON.stringify(dataRequest);
dataAjax = {
action: 'wp_construct_appartment',
dataRequest: dataRequest
}
xhr = $.get(ajax_object.ajax_url, dataAjax).then((response) => {
// success
}, (response) => {
// error
});
$('body').on('click', '.close', function() {
xhr.abort();
})
此代码不起作用,如何进行中断?
您的代码的问题在于 then 方法返回一个常规的 Promise,而不是 XHR 对象。
这样会更正确: