我正在尝试将kendoGrid集成到Backbone View上,这是我的视图代码:
App.Views.UsersManager = Backbone.View.extend({
tagName: 'section',
id: 'users-manager',
className: 'tile',
template: Handlebars.compile($('#profile-usersManager-template').html()),
render: function () {
console.log('usersManager.render -> collection', this.collection);
var self = this;
this.$el.html(this.template());
var dataSource = new kendo.data.DataSource({
transport: {
read: {
url: '/users',
type: 'GET',
dataType: 'json'
},
update: {
url: '/users',
type: 'PUT',
dataType: 'json'
}
},
schema: {
data: 'data'
},
batch: true
});
this.$('table.users-manager').kendoGrid({
scrollable: false,
sortable: true,
dataSource: dataSource,
toolbar: ["save"],
editable: true,
navigatable: true,
// filterable: true,
});
return this;
}
});
视图正确呈现,并且kendoGrid正确地从我的SlimPHP框架获取用户数据,但是当我尝试修改网格元素并点击“toolbar:[”save“]提供的”保存更改“按钮时“,即使在我的firebug控制台上也没有任何反应......根本就没有服务器通信。
我是kendo(和Backbone)开发的新手,也许我在语法上失败了? :卡住:
Atanas Korchev回答后更新 这是我更新的DataSource:
var dataSource = new kendo.data.DataSource({
transport: {
read: {
url: '/users',
type: 'GET',
dataType: 'json'
},
update: {
url: '/users',
type: 'PUT',
dataType: 'json'
}
},
schema: {
data: 'data',
model: {
id: 'id',
fields: {
email: {},
name: {},
surname: {},
rank: {},
type: {}
}
}
},
batch: true
});
这不能解决我的问题,我想要注意我的PHP代码实际上是这样的:
$app->put('/users', function () use ($app, $db) {
exit('put ok');
});
只是为了查看客户端/服务器通信是否正常...我知道这将是一个错误,但我也看不到任何firebug错误,例如“Save Changes”按钮没有事件...(I会尝试 Dennis Rongo 的建议..但我认为不是解决方案......)
抱歉我的英文不好