根据表单中输入的数据,从RESTful Web服务检索数据的主干约定/最佳实践是什么?
根据我的理解,我可以在视图中注册点击观察者,因此当点击表单提交按钮时,视图将从表单中检索数据。但我不清楚我是否从视图,模型或路由器执行AJAX调用。
基本上,我不清楚以下哪项是惯例:
注意:我需要向RESTful Web服务提交搜索条件,该服务期望数据被POST;如果我错了,请纠正我,但似乎我不能使用:fetch
或save
。我应该在模型中创建一个使用$ .ajax({...})来发布参数并接收JSON数据的函数吗?
答案 0 :(得分:9)
backbone.js模型已经设置为执行RESTful请求。方法2就是你想要做的。
您必须在模型中设置的唯一内容是URL:
MyModel = Backbone.Model.extend({
url: 'http://path/to/my/RESTful/service'
});
MyView = Backbone.View.extend({
events: {
'submit #myform': 'saveToModel'
},
initialize: function() {
// ...
},
saveToModel: function() {
// this triggers a RESTFul POST (or PUT) request to the URL specified in the model
this.model.save({
'foo': 'Foo!',
'bar': 'Bar!'
});
}
});
答案 1 :(得分:0)
将提交事件绑定到表单ID或div id,而不是按钮ID。