sobota 25. srpna 2012

Backbone.js callback u metody save()

Backbone.js ve své dokumentaci píše o možnosti volitelného callbacku při úspěšném a neúspěšném uložení modelu. A tak jsem taky zkoušel vytvoři callback:
transientModel.save({
    success:function (model, response) {
        log.info("Uloženo!");
    }
});
A na serveru vracím jen kód 200 jako OK. Samozřejmě že callback nefungoval. Na serveru se poslaly všechny atributy modelu a vše se uložilo v pořádku. I kód 200 se vrátil.

Po chvíli googlení jsem zjistil, že na StackOverflow se někdo už ptal na tuto otázku. Pokud chci volat callback, musí tento callback být až jako druhý parametr. První parametr jsou atributy, které chci uložit. Bohužel v dokumentaci to není popsáno dostatečně (spíš vůbec). Tak jsem upravil:
transientModel.save({}, // {} znamená, že chci poslat všechny atributy na server
{
    success:function (model, response) {
        log.info("Uloženo!");
    }
});
A už to funguje.

Žádné komentáře:

Okomentovat