Загрузка файла JQuery перед отправкой Ping Server для существующего файла

Я новичок в Jquery File Upload, и он прекрасно работает. Но мне интересно, знает ли кто-нибудь о хорошем способе блокировки отправки, пока не будет отправлен запрос GET для проверки того, что файл еще не существует?

Я использую backbone.js и уже пытался прикрепить перехват к событию отправки формы и событию изменения ввода файла. Оба сдвоены.

На данный момент выглядит примерно так:

  events: {
        'change form.upload-file input': 'checkExist'
    },

    checkExist: function (e) {
        return false;
    },

    initialize: function () {
        _.bindAll(this);

        this.$('.upload-file').fileupload({
            dataType: 'json',
            method: 'PUT',
            add: this.add,
            progress: this.progress,
            done: this.done,
            fail: this.fail,
            always: this.always
        });

        return __super__.initialize.apply(this, arguments);
    },

1 ответ

Я справился с этим, просто имея список файлов под рукой и остановив xhr, если он включен

beforeSend : function(xhr, opts){
                var q = 'Do you want to replace ' + opts.files[0].name + '?';
                if( that.checkExist(xhr, opts) && !window.confirm(q))  {
                    xhr.abort();
                }
            },

Было бы неплохо узнать способ сделать это асинхронным.

Другие вопросы по тегам