2013-09-13 3 views
0

Мне интересно, есть ли возможность сделать this.model.save(data, options) в Магистраль без ввода данных в модель?Backbone.js - сделать запрос POST без сохранения модели

У меня есть конечная точка сервера, где мне нужно POST json { field1: 'bbb', field2: 'aaa' } - сервер записывает эти поля в db, как list: [{ field1: 'bbb', field2: 'aaa' }].

Проблема заключается в том, что Backbone добавляет эти поля к модели. И у меня есть модель, как { id: '111', field1: 'bbb', field2: 'aaa', list: [{ field1: 'bbb', field2: 'aaa' }] }, и это неправильно ..

Есть ли способ сделать сохранение без записи отправить данные модели? Или, может быть, просто использовать метод jquery $.post и установить модель на успех?

ответ

1

Я думаю, что самый простой способ исправить это - либо изменить данные, возвращаемые сервером, либо переопределить метод анализа в вашей модели, и удалить дополнительный атрибут.

Вторая мысль - дать вашему молу единственный атрибут списка и установить его с помощью данных dict и вернуть сервер так же. Однако это не будет на 100% совместимо с общим использованием модели Backbone.

должен идти ..

1
  1. Вы можете определить sync функцию и сделать Ajax там
  2. Вы можете определить parse функцию и написать что-то вроде этого

    синтаксического анализа: функция (данные) { return data.list; }

2 - лучший подход. Если задание какого-либо поля повлияет на другое, сервер вернет его, и вы всегда будете иметь фактические данные в модели.

Смежные вопросы