Ошибка обратного вызова PhoneGap FileTransfer Success

Я использую метод FileTransfert PhonGap, например

        var options = new FileUploadOptions();
        options.fileKey="file";
        options.mimeType="image/jpeg";
        //options.chunkedMode = true;

        var params = new Object();
        params.title = title;
        params.content = content;
        params.groupId = groupId;

        options.params = params;

        var ft = new FileTransfer();
        app.loadmask.show();
        ft.upload(app.imageURI, app.stores.actionAjaxURL + "&cmd=addActualite", this.onSuccessCreateActualite, this.onFailureCreateActualite, options, true);

Это относится к функции обратного вызова успеха, которая:

onSuccessCreateActualite: function(response, options) {
        /* REINIT FORM VALUES */
        app.imageURI = null;
        console.log("This log appears");
        this.titleField.reset();
        console.log("This log does not appear");
        this.groupSelect.reset();
        this.contentField.reset();
        this.addBtn.resumeEvents();
        this.picturePnl.update("No Picture");

        app.stores.actualites.load();
        app.loadmask.hide();
        app.views.viewport.actualites.setActiveItem(
            app.views.viewport.actualites.actualitesList, {type:'slide', direction:'right'}
        );

        app.views.viewport.actualites.actualitesList.actuGrid.scroller.scrollTo({ x: 0, y: 0 });
},

И я получаю эту ошибку:

Ошибка обратного вызова: com.phonegap.filetransfer1 = TypeError: 'undefined' is not a object

Кто-нибудь знает, почему?

Спасибо


person Titouan de Bailleul    schedule 24.02.2012    source источник
comment
попробуйте включить опцию options.fileName   -  person ghostCoder    schedule 24.02.2012
comment
Но fileTransfer работает (картинку вижу у себя на сервере). Ошибка как-то связана с this.titleField.reset();   -  person Titouan de Bailleul    schedule 24.02.2012


Ответы (2)


Похоже, что «this.titleField» выходит за рамки вашей функции onSuccessCreateActualite. Скорее всего, «это» относится к другому объекту, чем вы думаете. Я бы проверил, каковы свойства «этого», чтобы увидеть, к чему оно на самом деле относится.

person Simon MacDonald    schedule 24.02.2012

У меня была такая же проблема с моим прицелом. Попробуйте вызвать функцию следующим образом:

this.onSuccessCreateActualite.bind(this)

в вашем методе upload().

person squistbe    schedule 11.09.2012