【发布时间】:2015-05-06 11:55:10
【问题描述】:
我有一个可编辑的表格。下面是一个渲染表格的函数,给定表格要渲染到的元素 ID、列数组和控制器名称,用于构建 URL。 URL 的格式如下,其中 exampleController 是一个示例控制器:
- 要更新:php/gateway.php?sender=exampleController&action=update
- 要列出:php/gateway.php?sender=exampleController&action=list
我希望 POST 请求包含已编辑的信息以及相应的行。
我尝试在下面的代码中做(某事)。它发出请求,但不包括 POST。
var initiateGrid = function(element_id, columns, controllerName) {
var gridModel = Backbone.Model.extend({
initialize: function() {
Backbone.Model.prototype.initialize.apply(this, arguments);
this.on("change", function(model, options) {
if (options && options.save === false) {
return;
}
this.sync();
});
},
sync: function(method, model, options) {
var methodUpdateMethodUrl = 'php/gateway.php?sender=' + controllerName + '&action=update';
options = options || {};
options.url = methodUpdateMethodUrl;
Backbone.sync(method, model, options);
}
});
var gridCollectionModel = Backbone.Collection.extend({
model: gridModel,
url: 'php/gateway.php?sender=' + controllerName + '&action=list',
});
var gridCollection = new gridCollectionModel();
var grid = new Backgrid.Grid({
columns: columns,
collection: gridCollection,
emptyText: "No Data"
});
var gridContainer = $("#" + element_id);
gridContainer.append(grid.render().el);
gridCollection.fetch({
reset: true
});
};
当然还有这个错误:
未捕获的类型错误:无法读取未定义的属性“触发器”
【问题讨论】:
标签: javascript backbone.js backgrid