gpt4 book ai didi

javascript - 主干模型 : nested data structure

转载 作者:数据小太阳 更新时间:2023-10-29 05:36:50 24 4
gpt4 key购买 nike

我正在开发 Backbone 应用程序,它可以发出跨域的 Restful 请求。请求中的嵌套数据结构是必需的,在 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"
}
}
}

在模型中,我没有嵌套结构,这很舒服,因为我在 view(DOM 元素创建)中使用了 image 模型字段。

从 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: ''
},
});

View 部分,使用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});
});
},

另一个 View 的一部分,它向服务器发送数据。

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();
}

最佳答案

您在 save 中传递的第一个参数是将在您的保存中传递的属性的哈希值。

在您的 sendTo 函数中,只需以服务器期望的方式使用模型中的数据和任何其他表单值构建一个对象。默认情况下,当保存成功时,来自响应的数据将通过解析方法传递并设置回模型。

var myData = {
//create nested object for the server
};

this.model.save(myData);

关于javascript - 主干模型 : nested data structure,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8769649/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com