请给我解决方案,我可以单独拨打电话,删除或获取请求。当我加载到脚本下面。它同时得到三个ajax调用put,delete和get请求。
var UserModel = Backbone.Model.extend({
urlRoot: '/test.php',
defaults: {
name: '',
email: ''
}
});
var user = new UserModel({id: 1});
// Notice that we haven't set an `id`
var userDetails = {
name: 'Thomas',
email: 'thomasalwyndavis@gmail.com'
};
// Because we have not set a `id` the server will call
// POST /user with a payload of {name:'Thomas', email: 'thomasalwyndavis@gmail.com'}
// The server should save the data and return a response containing the new `id`
user.save(userDetails, {
success: function (user) {
console.log('save call back');
}
})
user.destroy({
success: function () {
console.log('Destroyed');
}
});
user.fetch({
success: function (user) {
console.log(user.toJSON());
}
})
答案 0 :(得分:3)
此代码片段混合了初始化,创建和使用。模型初始化是
var UserModel = Backbone.Model.extend({
urlRoot: '/test.php',
defaults: {
name: '',
email: ''
}
});
上面的代码描述了用户模型,应该在页面/应用程序生命周期中运行一次。
以下是用户模型实例的创建:
var user = new UserModel({id: 1});
但与你的例子更相关的可能是
var user = new UserModel({
id: 1,
name: 'Thomas',
email: 'thomasalwyndavis@gmail.com'
});
然后,您可以对创建的用户执行一些操作:save,destroy或fetch。但不是所有人都同时出现。例如,您可以在用户单击页面上的按钮时将其删除:
$('.delete-button').click(function () {
user.destroy({
success: function () {
console.log('Destroyed');
}
});
});
因此,所有这些代码片段通常位于应用程序的不同部分,并且用于不同的目的 - 在您的代码示例中,它们都在同一个位置,因此示例很乱,其目的不明确。