Подтвердить что ты не робот

Начало работы с backbonejs - что должен вернуть сервер

Я абсолютно новичок в библиотеке Backbone.js и прочитал всю документацию и понял работу библиотеки. В нижеследующих случаях, что должен отвечать сервер для правильной работы приложения, разработанного с использованием магистрали (без добавления дополнительного штриха/кода).

предположим, что модель ниже

window.person = Backbone.Model.extend({
    defaults: {
        name: "",
        email: "[email protected]"
    },
    urlRoot: "PersonApp"
});
  • Что JSON должен вернуть серверу при условии, что проверка прошла успешно для model.save()

  • Что JSON должен вернуть серверу для model.fetch()

  • Что JSON должен вернуть серверу для model.destroy()

4b9b3361

Ответ 1

Если вы посмотрите в Backbone.Sync документации, в нем говорится, что вы должны отвечать на запросы с атрибутами, которые были изменены на сервер.

Итак, чтобы ответить на ваши вопросы:

  • Запрос JSON для model.save должен вернуть атрибуты, которые были изменены как часть сохранения. В случае создания это будет целая модель; в случае обновления измените только поля. (Или, если вы ленивы и не возражаете обновлять всю модель клиентской стороны, вы можете просто вернуть всю модель).

    Таким образом, приемлемым ответом будет { 'name' : 'a name', 'email' : '[email protected]' }

  • Fetch должен просто вернуть модель в форме JSON. Таким образом, тот же самый пример, который я использовал для model.save, будет работать.

  • Я не совсем уверен, но я не думаю, что Backbone проверяет возвращенные данные из запросов на удаление, чтобы вы могли возвращать что-либо, если это не ошибка HTTP. Согласно @a.real.human.being ниже, пустой ответ также вызывает ошибки. Поэтому возвращение 200 с "ОК" в теле (или аналогичном) кажется разумным планом.