Я занимаюсь разработкой магистрального приложения, которое делает междоменный запрос спокойным.Вложенная структура данных в запросе требуется, в запросе curl у меня есть такая структура:
{
"site_id": 1,
"post": {
"site_id": 1,
"provider_id": 1,
"provider_post_id":1,
"created_ts": "12.12.12",
"post": {
"header": "text",
"caption": "text",
"image": "http://...jpg"
}
}
}
В модели у меня нет вложенной структуры, и это довольно удобно, потому что я использую поле модели image
view
(создание элемента DOM).
Какой правильный способ отправки вложенных данных на сервер из приложения Backbone?
Модель:
var WraperModel = Backbone.Model.extend({
url: 'http://mydomain/core/api/v1/bookmarklet_post/? callback=?',
defaults: {
site_id: 1, // shouldn't be hardcoded
type:"type", site_id:2, provider_id: 2, provider_post_id: 2, created_ts:2,
header : '',
caption: '',
image: ''
},
});
Часть представления, в которой используется image
свойство модели:
drawItem: function (model) {
var inst = new ImageView({model: model, tagName: 'li', className:'images-item'}).render();
this.imagesWrapper.append(inst.el);
},
getImages: function () {
var images = doc.getElementsByTagName('img'),
view = this;
_.each(images, function (image) {
image.offsetHeight > 75
&& image.offsetWidth > 75 &&
view.collection.add({image: image.src});
});
},
Часть представления, которая отправляет данные на сервер.
sendTo: function(){
var that = this,
data = {saving: true};
$('#add-header').val() && (data.header = $('#add-header').val());
$('#add-description').val() && (data.caption = $('#add-description').val());
this.model.set(data);
this.model.save();
}