将 AJAX 回调数据转换为 Backbone 模型
Posted
技术标签:
【中文标题】将 AJAX 回调数据转换为 Backbone 模型【英文标题】:Convert AJAX callback data to Backbone model 【发布时间】:2015-07-01 00:49:34 【问题描述】:有没有办法将成功回调data
转换为 Backbone 模型?
这些是我所拥有的:
App.Models.Image = Backbone.Model.extend(
idAttribute : 'image_id'
);
App.Collections.Image = Backbone.Collection.extend(
model : App.Models.Image,
url : JSON_URL,
fetchImage : function(model)
var self = this;
var imageId = model.id, name = model.get('name');
this.fetch(
data :
packet : JSON.stringify(
type : 'loadImage',
param :
image_id : imageId,
filename : name
)
,
type : 'POST',
success : function(data)
var `view` = new App.Views.Image(
model : data
);
view.render();
,
error : function()
);
);
查看成功函数,我声明了带有回调data
的视图作为其模型。
然而,当程序调用渲染函数时,模型显示为[Object]
(基于console.log),所以我假设data
作为对象传递,而不是主干模型。
注意:
App.Collections.Image
依赖于另一个集合。它工作正常,无需担心。
【问题讨论】:
【参考方案1】:你应该将模型的实例传递给视图
var `view` = new App.Views.Image(
model : new App.Models.Image(data)
);
注意:当您获取集合并使用响应来启动模型时,我不确定您要实现什么目标。
【讨论】:
以上是关于将 AJAX 回调数据转换为 Backbone 模型的主要内容,如果未能解决你的问题,请参考以下文章
覆盖Backbone.ajax方法以使用cordovaHTTP
js实现无刷新表单提交文件,将ajax请求转换为form请求方法