Tôi có một ứng dụng cơ bản bằng cách sử dụng Backbone.js không thực hiện cuộc gọi PUT (mô hình cập nhật). Từ front-end, tôi gọi một mô hình save
chức năng không thực hiện cuộc gọi PUT; tuy nhiên, nếu tôi thay thế nó bằng destroy
, nó sẽ thực hiện một cuộc gọi DELETE đến back-end. Bất cứ ai có bất kỳ ý tưởng những gì có thể là vấn đề? Hàm không kích hoạt yêu cầu PUT là hàm saveTask
.Backbone.js - model.save() không kích hoạt yêu cầu PUT
App.Views.Task = Backbone.View.extend({
template: _.template("<label>ID:</label><input type='text' id='taskId' name='id' value='<%= _id %>' disabled /><br><label>Title:</label><input type='text' id='title' name='title' value='<%= title %>' required/><br><label>Content:</label><input type='text' id='content' name='content' value='<%= content %>'/><br><button class='save'>Save</button>"),
events: {
"change input":"change",
"click .save":"saveTask"
},
render: function(eventName){
$(this.el).html(this.template(this.model.toJSON()));
//console.log(this.generateTemplate());
return this;
},
change: function(event){
var target = event.target;
console.log('changing ' + target.id + ' from: ' + target.defaultValue + ' to: ' + target.value);
change[target.name] = target.value;
this.model.set(change);*/
},
saveTask: function(){
this.model.set({
title:$("#title").val(),
content:$("#content").val()
});
if(this.model.isNew()){
App.taskList.create(this.model);
} else {
this.model.save({});
}
}
});
Bạn đang sử dụng phiên bản Backbone nào? Tôi đã có một số vấn đề khi cập nhật một mô hình với phiên bản 0.9.9. Nó có thể là một lỗi thầm lặng trong quá trình lưu hoặc một lỗi với phiên bản xương sống của bạn. – mor