Jquery 单击按钮时中止AJAX请求

Jquery 单击按钮时中止AJAX请求,jquery,ajax,jqxhr,Jquery,Ajax,Jqxhr,我想使用XML abort函数中止我的AJAX文件上传 下面是脚本(jQuery),显示了我的AJAX请求调用: var jqXHR = new window.XMLHttpRequest(); $("#file_uploading").change(function(e) { var fullPath = $('#File-upload-0').val(); var output = fullPath.substr(0, fullPath.lastIndexOf('.'

我想使用XML abort函数中止我的AJAX文件上传

下面是脚本(jQuery),显示了我的AJAX请求调用:

var jqXHR = new window.XMLHttpRequest();
$("#file_uploading").change(function(e) {
    var fullPath = $('#File-upload-0').val();    
    var output = fullPath.substr(0, fullPath.lastIndexOf('.')) || fullPath;
    var filename = output.replace(/^.*\\/, "");
    $('#cancel_btn').removeClass('hidden');
    //console.log(filename);
    $('#f_name').val(filename);
    $('#reupload_block_cl').addClass('alert-success').removeClass('alert-danger');
    $('#loader').removeClass('hidden');
    e.preventDefault();
    $.ajax({
        url: window.reuploading_file,
        type: "POST",
        data: new FormData(this),
        contentType: false,
        cache: false,
        processData: false,
        success: function(data) {
            //alert(data.success);
            if (data.success) {
                $('#cancel_btn').addClass('hidden');
                $('#loader').addClass('hidden');
                $('#reupload_block_msg').html(data.success);
                $('#reupload_block').removeClass('hidden');
            }
        }, 
        error: function(data) {
            //alert(data.success);
            var obj = jQuery.parseJSON(data.responseText);
            var str = obj['file'][0];
            if (str.startsWith("The file may not be greater than")) {
                $('#loader').addClass('hidden');
                $('#cancel_btn').addClass('hidden');
                $('#reupload_block_msg').html(str);
                $('#reupload_block_cl').addClass('alert-danger')
                    .removeClass('alert-success');
                $('#reupload_block').removeClass('hidden');
            } else {
                $('#loader').addClass('hidden');
                $('#cancel_btn').addClass('hidden');
                $('#reupload_block_msg').html(str);
                $('#reupload_block_cl').addClass('alert-danger')
                    .removeClass('alert-success');
                $('#reupload_block').removeClass('hidden');
            }
        }           
    });
});
单击cancel按钮,我想要实现的是:中止AJAX请求

下面是我的取消按钮单击功能脚本(jQuery),它未按预期工作:

$('#final_upload').on('click', function() {
    jqXHR.abort();
    $('#loader').addClass('hidden');
});
我做错了什么?如何解决它?

检查此项

jqXHR对象不是
var jqXHR=new window.XMLHttpRequest()

它应该是
var jqXHR=$.ajax(param)

检查此项

jqXHR对象不是
var jqXHR=new window.XMLHttpRequest()


它应该是
var jqXHR=$.ajax(param)

您尚未定义的可能重复的
xhr
。首先,您必须使用
var xhr=$.ajax({
然后它就可以工作了…我也试过了。但那次没有工作也会出现错误xhr我没有定义。只有在不同的范围内创建
xhr
可能会重复,您可能无法在另一个范围内访问它!请查看其他两个注释中的链接,也可能重复您没有定义的内容d
xhr
。首先必须使用
var xhr=$.ajax({
然后它就可以工作了…我也试过了。但那次没有工作也会出现错误xhr我没有定义。只有在不同的作用域中创建
xhr
时,可能会出现重复,您可能无法在另一个作用域中访问它!请查看其他两个注释中的链接,并且