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

Как сервер должен отвечать на базовую синхронизацию

Некоторые новички задают вопросы о backbone.js save и sync.

  • После вызова функций сохранения/синхронизации какой тип ответа ожидает сервер с сервера? Требуется ли какая-либо конкретная пост-обработка после получения ответа?

  • Как базовая система знает, существует ли модель на сервере? Из документации я вижу, что каждая модель имеет isNew, которая проверяет наличие "id". Таким образом, "id" - это идентификатор с сервера, тогда как "cid" - это то, что создает основу для каждой модели. Верный? Если да, то каковы общие шаги для сервера, чтобы сообщить, что такое идентификатор модели, когда:

    a) сначала создается и синхронизируется модель,

    b) впоследствии, когда модель загружена,

    c) или когда модель заполнена загрузкой страницы?

Спасибо за помощь.

4b9b3361

Ответ 1

Ответы на ваши вопросы:

  • Когда вы получаете ответ от сервера, данные ответа проходят через метод анализа. Для моделей метод parse должен отвечать хэшем атрибутов, который будет использоваться при вызове 'set' к модели. Для коллекций метод синтаксического анализа должен отвечать массивом хэшей атрибутов, представляющих модели, которые будут храниться в коллекции. В каждом случае существуют реализации по умолчанию, в которых используется исходный объект ответа. Если ваш ответ не возвращает полезные хеши, тогда вам нужно предоставить свой собственный метод синтаксического анализа, который делает то, что вы хотите.

  • Вы верны в своем заявлении о том, как работает NewNew. Ответ вашего сервера должен предоставить какой-то идентификатор, который вы либо используете, либо преобразуете в атрибут id в модели в методе анализа. Преобразование потребуется, если ответ вашего сервера не вызывает идентификатор объекта как атрибут с именем "id". Я думаю, что весь ваш второй вопрос зависит от вашего правильного понимания метода разбора. Этот метод должен возвращать хэш атрибутов, который также включает атрибут 'id'.