Грешка при успешно извикване на FileTransfert на PhoneGap

Използвам метода 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' не е обект

Някой знае ли защо?

Благодаря


person Titouan de Bailleul    schedule 24.02.2012    source източник
comment
опитайте да включите опцията options.fileName   -  person ghostCoder    schedule 24.02.2012
comment
Но fileTransfert работи (виждам снимката на моя сървър). Грешката има нещо общо с 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